《JS面向对象编程指南》

第二章

变量:1声明 2初始化(赋值)

变量名:1区分大小写 2任意数字,字符,下划线组合 3不能数字开头

操作符:++前置 先返回值再自增1,后置 先自增1再返回

    var a = 1;

    var b = a++;

    console.log(b);    //1

    console.log(a);    //2

!(数字,字符串,布尔,null(也是对象),undefined),都是对象。

Infinity:超出JS处理范围的数值。typeof Infinity => number; 

    console.log(1e309);    //Infinity

    console.log(1e308);    //1e+308

    console.log(-Infinity+Infinity);    //NaN

    console.log(Infinity+1);    //Infinity
    console.log(Infinity-1);    //Infinity
    console.log(Infinity*1);    //Infinity

    console.log(Infinity/1);    //Infinity


NaN:console.log(typeof NaN);//number, 属于数字。

console.log(1*'abc');//NaN

console.log(1*'abc');    //NaN
console.log(1+ true);    //2
console.log(1* null);    //0

console.log(1* undefined);    //NaN

不支持运算的结果为NaN,且具有传染性。

字符串转换:把一个数字字符串用于算术运算,该字符串会被当成数字类型使用,+除外。

任意数字字符串转数字:*1;

其他类型转字符串:+"";

布尔:加引号为字符串true或false。

非与或

同一值两次!等于其等效布尔值。

falsy:null, undefined, "", NaN, 0, false

优先级:!&&||

惰性求值:JS引擎特点,&&or||一旦满足其特点即返回,后面不再运算。逻辑表达式中有非布尔类型操作数也有效。

var a = 11;
var d = 22
console.log(true || a);    //true
console.log(false || a);    //11

console.log(false || a || true);    //11

console.log(false || a);    //11
console.log(false || a || false);    //11
console.log(false || a || b);    //11

console.log(false || a || true || d);    //11

||返回首个不影响结果的短路值。

var b = 2;
var c = 3;
console.log(false && b); //false
console.log(true && b); //2
console.log(true && b && false); //false
console.log(true && b && true); //true

console.log(true && b && true && c);    //3

&&返回首个false或falsy,或返回最后一个真值。

利用||的特点,var testnum = testnum || 10;    //如果testnum未定义则初始化为10,如果定义了返回原值。

注:6个falsy转布尔值都为false,此公式对它们无效。

数组:能存储任何类型的数据。


第三章

函数:实参随便写,JS引擎只取形参够用的,后面自动忽略不报错。

函数内置argments()方法。

全局函数:

parseInt()第二个redix参数不指定,默认十进制。读取日历数据有0的开头要注意。

isNaN():检查输入值是否可以参与算术运算。

变量域:函数域优先全局。

var a = 1;

function f1() {
alert(a);
var a = 2;
alert(a);
}

f1();

//undefined。2。

//局部变量a会覆盖所有与其同名的变量,该变量已经存在本地空间,没赋值。

函数是数据。

函数标识记法:var a = function (){return 1;}

63页开头的那段代码是错的。

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值