Open zuppachu opened 5 years ago
Ch 2 进入JavaScript
在JavaScript中只有「值」拥有类型;变量只是这些值的简单容器。
简单规则帮助判断是否使用==
或===
:
==
而使用===
。==
而使用===
。var a = [1,2,3];
var b = [1,2,3];
var c = "1,2,3";
a == c; // true
b == c; // true
a == b; // false => 我的解讀是因為 陣列 儲存記憶體位置不同。
:即便函数已经完成了运行,它依然可以“记住”并持续访问函数的作用域。
完全沒看懂範例,需再看幾遍!
如果一个函数在它内部拥有一个this引用,那么这个this引用通常指向一个object。但是指向哪一个object要看这个函数是如何被调用的。重要的是要理解this 不是 指函数本身,这是最常见的误解。
当你引用一个对象上的属性时,如果这个属性不存在,JavaScript将会自动地使用这个对象的内部原型引用来寻找另外一个对象,在它上面查询你想要的属性。你可以认为它几乎是在属性缺失时的备用对象。
从一个对象到它备用对象的内部原型引用链接发生在这个对象被创建的时候。说明它的最简单的方法是使用称为Object.create(..)的内建工具。
var foo = {
a: 42
};
// 创建 `bar` 并将它链接到 `foo`
var bar = Object.create( foo );
bar.b = "hello world";
bar.b; // "hello world"
bar.a; // 42 <-- 委托到 `foo`
值,类型,函数闭包,this,和原型。
ch3 进入YDKJS
作用域与闭包
this与对象原型
类型与文法
From JayKeyGuo - YDKJS 中譯版
你不懂JS:入門與進階 (up and going)
一个循环包含测试条件和一个块儿(通常是
{ .. }
)。每次循环块儿执行,都称为一次 迭代。while循环 和 do..while循环 说明 : 重复一块儿语句(block)直到一个条件不再求值得true:
这些循环之间唯一的实际区别是: 条件是在第一次迭代之前(while)还是之后(do..while)被测试。
作用域
在同一个作用域内变量名(var X)必须是唯一的! 不能有两个不同的变量a并排出现。 但是相同的变量名a可以出现在不同的作用域中。