02 2017 档案
labeled statement:标签语句
摘要:foo: for (var i=0; i= 2) { // console.log( 'stopping!', i, j); // 跳出标签 foo 所在的循环/代码块,继续执行后面的代码 break foo; } console.log('inner:', i, j); } } console.log('跳...
阅读全文
Values & Reference:值和引用
摘要:var a = 2; var b = a; //b 是 a 的值的一个副本 b++; a; //2 b; //3 var c = [1, 2, 3]; var d = c; // d 是 值[1, 2, 3]的一个引用 d.push(4); c; // [1, 2, 3, 4] d; // [1, 2, 3, 4] d = [4, 5, 6]; // consol...
阅读全文
prototype:构造函数的真相、原型链
摘要:函数不是构造函数,但是当且仅当使用 new 时,函数调用会变成 ‘构造函数调用’。那么对 ’构造函数‘ 最准确的解释是:所有带 new 的函数调用。 Nothing 只是一个普通的函数,但使用 new 调用时,它会构造一个对象并赋值给 a ,这个对象通过原型链关联着对象 Nothing。 虽然这和传统的‘类继承’很相似,但是 JavaScript 中的机制有一个核心区别,那就是不会进行复制,对象之...
阅读全文
Object value iterator:值迭代器
摘要:1 // ES5 2 // 对于数组,使用标准的 for 循环,其实这种方式并不是在遍历值,而是遍历下标来指向值!ES5中增加了一些数组迭代器:forEach、every、some 3 // forEach:遍历数组中的所有值并忽略回调函数的返回值 4 // every:一直运行直到回调函数返回 false 5 // some:一直运行直到回调函数返回 true 6 // 对于对象,...
阅读全文
怎样判断JS对象中的属性
摘要:1 // 如何在不访问属性值的情况下判断对象中是否存在这个属性 2 var obj = { 3 a: 2 4 }; 5 6 Object.defineProperty( 7 obj, 8 'b', 9 // 让 b 不可枚举 10 { 11 enumerable: false, 12 value: 3 13 } 14 ); 15 // ...
阅读全文
js的作用域
摘要:首先明确一下:词法作用域是在写代码或者说定义时确定的,而动态作用域是在运行时确定的! 其实 JavaScript 并不具有动态作用域,它只有词法作用域,但 this 机制某种程度上很像动态作用域。 词法作用域关注函数在何处声明,而动态作用域关注函数从何处调用! 词法作用域让 foo() 中的 a 通
阅读全文
Module loader:模块加载器
摘要:<p data-height="265" data-theme-id="0" data-slug-hash="XpqRmq" data-default-tab="result" data-user="286810" data-embed-version="2" data-pen-title="Mod
阅读全文
浙公网安备 33010602011771号