《JavaScript权威指南》阅读笔记(1)

阅读笔记系列将后续继续更新,文中代码及描述大多出自《avaScript权威指南》一书,部分为自我总结。笔记主要记载了,一些知识重点及一些容易被忽略的知识点。

按照惯例,构造函数均以大写字母开始

function Point(x,y){//按照惯例,构造函数均以大写字母开始
    this.x = x;     //关键字this指代初始化的实例
    this.y = y;     //将函数参数储存为对象的属性
}                   //不需要return

数组sort()方法排序

<!--sort方法传入一个比较函数,按照id大小排序。-->
<!--负数:a在c前,正数:a和c换位-->
var arr_obj = [ {id:3,name:'abc'},{id:2,name:'abc'}];
arr_obj.sort(
    function(a,c){
        return a.id - c.id;
    }
);

数组forEach()方法排序

<!--forEach()无法在所有元素都传递给调用的函数之前终止遍历。-->
<!--也就是所,没有像for循环中使用的break语句-->
<!--如果要提前终止,必须把forEach方法放在一个try块中-->
function(a,f,t){
    try{
        a.forEach(f,t);
    }catch(e){
        if(e == foreach.break) return;
        else throw e;
    }
}
foreach.break = new Error("StopIteration");

对运算符 ++ 的理解

<!--
++ 的自增不是在表达式计算完毕后执行的,而是在返回原有值后立刻+1.
-->
var a = 1;
var b = (a++) + a;
console.log(b);     // b = 3

var a = 1;
var b = a + (a++);
console.log(b);     // b = 2 ps.不同语言结果有可能不同 比如PHP
<!--
 a op= b ; a = a op b; op代表运算符;第一个表达式 a只计算了一次,第二个表达式,a计算了两次。
-->
var i =1;var data=[1,2,3];
data[i++]*=2; 
console.log(data);  //[1, 4, 3]

var i =1;var data=[1,2,3];
data[i++]=data[i++]*2; 
console.log(data); //[1, 6, 3]

NaN 和其他任何值都不相等,包括他自己

x !== x //判断x是否为NaN,只有x为NaN,这个表达式才为true

js常用术语

1.直接量 2.存取器属性
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值