zuppachu / Joanne-s-Learning-Blog

程式導師實驗計畫第二期 之 Coding 學習紀錄。
2 stars 0 forks source link

[ YDKJS ] - 節錄筆記 #10

Open zuppachu opened 5 years ago

zuppachu commented 5 years ago

From JayKeyGuo - YDKJS 中譯版

你不懂JS:入門與進階 (up and going)

Ch 1

loops

一个循环包含测试条件和一个块儿(通常是{ .. })。每次循环块儿执行,都称为一次 迭代

while循环 和 do..while循环 说明 : 重复一块儿语句(block)直到一个条件不再求值得true:

while (numOfCustomers > 0) {
    console.log( "How may I help you?" );

    // 服务顾客……

    numOfCustomers = numOfCustomers - 1;
}

// 与

do {
    console.log( "How may I help you?" );

    // 服务顾客……

    numOfCustomers = numOfCustomers - 1;
} while (numOfCustomers > 0);

这些循环之间唯一的实际区别是: 条件是在第一次迭代之前(while)还是之后(do..while)被测试。

作用域

在同一个作用域内变量名(var X)必须是唯一的! 不能有两个不同的变量a并排出现。 但是相同的变量名a可以出现在不同的作用域中。

function one() {
    // 这个 `a` 仅属于函数 `one()`
    var a = 1;
    console.log( a );
}

function two() {
    // 这个 `a` 仅属于函数 `two()`
    var a = 2;
    console.log( a );
}

one();      // 1
two();      // 2
zuppachu commented 5 years ago

你不懂JS:入門與進階

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引用,那么这个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,和原型。

zuppachu commented 5 years ago

你不懂JS:入門與進階

ch3 进入YDKJS