日记整理---->2016-11-01

  这里我们整理一下项目的流程,一般来说做一个模块之前。会有需求文档、页面原型和接口文档。

一、 js获取radio的值

  • 页面的html代码:
<ul class="list-group" style="border:1px solid rgb(238,238,238);border-radius:0.5em; margin-left: 1em; margin-right: 1em;" >
   <li class="list-group-item clearfix">婚姻关系
        <input type="radio" id="isMarried" name="marryStatus" v-click="changeMarryStatus(0)" value="0" />&nbsp;单身 &nbsp;
        <input type="radio" id="isMarried" name="marryStatus" v-click="changeMarryStatus(3)" value="3" checked="true"/>&nbsp;已婚&nbsp;
    </li>
</ul>
  • js代码得到radio选中的value值:
var marrayType = $("input[name='marryStatus']:checked").val();

二、 js获取checkbox是否选中

  • 页面的html代码:
<input type="checkbox" id="spouseAuthorized" name="spouseAuthorized" style="margin-left:15px;  auto;">
  • js的代码,isChecked是true或者是false。
var isChecked = $('#spouseAuthorized').is(':checked');
if (isChecked == false) {
    $smart.alert("没有勾选授权按钮。");
    return;
}

三、parseFloat和toFixed方法

以下代码如下:下列的money2.toFixed(2)返回的是字符类型,所以'6'是大于'1'的。

function testMoney() {
    var money1 = parseFloat("13000.568");
    var money2 = parseFloat("6000.235");

    alert(money2 > money1); // false 
    alert(money2.toFixed(2) > money1.toFixed(2)); // true
}

四、null的强制转换

将null转换成String类型是不报错的

Object object = null;
String str = (String)object;
System.out.println(str); // null

五、scannner的使用

scanner中的next和nextLine方法的区别

Scanner scanner = new Scanner(System.in);
System.out.println(scanner.next());
System.out.println(scanner.nextLine());
System.out.println(scanner.nextLine());
scanner.close();

运行的效果如下:

next方法是读取以空白字符为分割的,nextLine是以换行符为分隔符的。

六、nodejs的模块化使用

代码结构如下:

  • 定义一个模块,实质就是一个js文件,记为moduls.js。
var name;
exports.setName = function(thyName) {
    name = thyName;
};
exports.sayHello = function() {
    console.log('Hello ' + name);
};
  • 在hello.js中使用上述的模块:
var myModule = require('./module');
myModule.setName('chenhui');
myModule.sayHello();

运行的效果如下:

ps:require 不会重复加载模块,也就是说无论调用多少次  require, 获得的模块都是同一个。如下的hello.js代码:

var hello1 = require('./module');
hello1.setName('BYVoid');
var hello2 = require('./module');
hello2.setName('BYVoid 2');
hello1.sayHello();

运行后发现输出结果是  Hello BYVoid 2。

七、将对象封装到模块当中

  • 定义一个对象的模块module2.js:
function Hello() {
    var name;
    this.setName = function(thyName) {
        name = thyName;
    };
    this.sayHello = function() {
        console.log('Hello ' + name);
    };
};
module.exports = Hello;
  • 在hello2.js中使用该模块中的对象:
var Hello = require('./module2');
hello = new Hello();
hello.setName('Linux');
hello.sayHello();

运行的结果如下:

八、javascript的一些总结

  • 在javascript中不存在块级的作用域,在循环内部定义的变量可以在外部使用。
var count = 10;
for (var i = 0; i < count; i++) {}
console.log(i); // 10
  • javascript中的for....in的使用,它输出的属性名的顺序是不可预测的。
var jsonObject = {
    "name": "huhx",
    "lover": "chenhui"
};
for (var info in jsonObject) {
    console.log(info + ", " + jsonObject[info]);
}
// name, huhx
// lover, chenhui

如果是jsonObject.info,那么输出的是undefined。

  • switch语句在比较值时使用的是全等操作符,没有发生类型转换。switch的语句可以使用任何的数据类型,case的值可以是变量、常量和表达式。

PE中涉及到的配置文件比较多,那么它们的加载顺序到底是什么样子呢?现在的一个错觉就是,在pweb中的内容优先级最高,这样的理解暂时没有找到依据。

在js中快速查找函数名:ctrl+R快捷键。

  • a标签的形式流。

a标签有一个download属性,可以指定下载文件的名称。href可以是一个文件流,也可以是请求返回的文件流。当然传统意义上面的文件路径,其原理还是一个请求返回的文件流。

友情链接

原文地址:https://www.cnblogs.com/huhx/p/basediary20161101.html