Classes
1 Class-Like structures in ecma5
1 | // property |
1 定义
-
+
- 数值、字符串、布尔值这三种原型类型的值,在一定条件下也会自动转化为对象,也就是原始类型的包装对象。 +
- Number String Boolean +
- 包装对象的目的,使得语言都有一个通用的数据模型,其次是得原始类型的值也有可以调动自己的方法。 +
- 原始类型的值会自动当做包装对象调用,即调用包装对象的属性和方法。JS引擎糊自动将原始类型的值转换为包装对象实例,并在使用后立即销毁。 +
- 自动转换生成的包装对象是只读的,无法修改。 +
1 | var str = 'abc'; |
Class
@@ -784,19 +791,19 @@Class
-
+
- ECMA5 标准库
+ ECMA5 对象
-
+
@@ -804,10 +811,14 @@
- 1 判断某个变量是否为对象
1
2
3
function isObject(value){
return value === Object(value);
}
-2 对象的键名
+ 1 键名
+- 对象的所有键名都是字符串,若键名不符合标识符的条件,则必须加上引号。
+- 如果使用方运算符,键名必须放在引号里,否则会被当做变量处理。
+- 数字键可以不加引号,会自动转成字符串。
1
2
3
4
5
6
let obj = { flag: true };
obj[flag] // undefined
obj.flag // true
obj.['flag'] // true
flag ='flag';
obj[flag] // ture
+
+
- more >>
+ more >>
@@ -821,7 +832,7 @@
- 展开全文 >>
+ 展开全文 >>
@@ -872,19 +883,19 @@
+
- ECMA5 对象
+ ECMA5 函数
-
+
@@ -892,14 +903,12 @@
- 1 键名
-- 对象的所有键名都是字符串,若键名不符合标识符的条件,则必须加上引号。
-- 如果使用方运算符,键名必须放在引号里,否则会被当做变量处理。
-- 数字键可以不加引号,会自动转成字符串。
1
2
3
4
5
6
let obj = { flag: true };
obj[flag] // undefined
obj.flag // true
obj.['flag'] // true
flag ='flag';
obj[flag] // ture
-
+ 1 概述
1.1 重复声明
+- 函数的声明会提升到函数定义时所在的作用域的头部。故同名函数会被后来的函数替代。
+1
2
3
4
5
6
7
8
function f(){
console.log('one');
}
f(); //two
function f(){
console.log('two');
}
f(); //two
- more >>
+ more >>
@@ -934,7 +943,7 @@ 1
diff --git a/page/2/index.html b/page/2/index.html
index bbbb044..638fa14 100644
--- a/page/2/index.html
+++ b/page/2/index.html
@@ -140,19 +140,19 @@ chochi
-
+
@@ -200,7 +202,7 @@ 1
@@ -230,19 +232,19 @@ 1
-
+
- ECMA5 包装对象
+ ECMA5 标准库
-
+
@@ -250,16 +252,10 @@
- 1 定义
-- 数值、字符串、布尔值这三种原型类型的值,在一定条件下也会自动转化为对象,也就是原始类型的包装对象。
-- Number String Boolean
-- 包装对象的目的,使得语言都有一个通用的数据模型,其次是得原始类型的值也有可以调动自己的方法。
-- 原始类型的值会自动当做包装对象调用,即调用包装对象的属性和方法。JS引擎糊自动将原始类型的值转换为包装对象实例,并在使用后立即销毁。
-- 自动转换生成的包装对象是只读的,无法修改。
-
-1
2
3
4
5
6
7
8
9
10
11
var str = 'abc';
str.length; // 3
// 等同于
var strObj = new String(str);
/*
String{
0:"1",1:"b",2;"c",length:3[[PrimitiveValue]]:"abc"
}
strObj.length;//3
*/
+ 1 判断某个变量是否为对象
1
2
3
function isObject(value){
return value === Object(value);
}
+2 对象的键名
- more >>
+ more >>
@@ -273,7 +269,7 @@ 1
@@ -294,7 +290,7 @@ 1
@@ -416,19 +412,19 @@ 1
-
+
- ECMA5 数组
+ ECMA5 面向对象编程
-
+
@@ -436,19 +432,22 @@
- 1 静态方法
1.1 判断是否为数组
-- 使用Array的静态方法
-
-1
Array.isArray( array )
-
-- 使用原型toString方法,返回的字符串第二个词表示构造函数
+
1 实例对象与new 命令
1.1 构造函数
+- 函数体内部使用了 this 关键字,代表了所要生成的对象实例。
+- 生成对象的时候,必须使用 new 命令
+- 函数名首字母大写,以示区别。
+
+1.2 new 命令
+- 执行构造函数,返回一个对象实例。
+
+1.2.1 new 原理
1
2
3
4
graph TB
A[1.创建一个空对象作为将要返回的对象实例]--> B[2.将这个空对象的原型指向构造函数的prototype属性]
B-->C[3.将空对象赋值给函数内部的this关键字]
C-->D[4.开始执行构造函数内部的代码]
- more >>
+ more >>
-
+
@@ -478,7 +477,7 @@
- 展开全文 >>
+ 展开全文 >>
@@ -508,19 +507,19 @@
+
- ECMA5 面向对象编程
+ ECMA6 类
-
+
@@ -528,17 +527,9 @@
- 1 实例对象与new 命令
1.1 构造函数
-- 函数体内部使用了 this 关键字,代表了所要生成的对象实例。
-- 生成对象的时候,必须使用 new 命令
-- 函数名首字母大写,以示区别。
-
-1.2 new 命令
-- 执行构造函数,返回一个对象实例。
-
-1.2.1 new 原理
1
2
3
4
graph TB
A[1.创建一个空对象作为将要返回的对象实例]--> B[2.将这个空对象的原型指向构造函数的prototype属性]
B-->C[3.将空对象赋值给函数内部的this关键字]
C-->D[4.开始执行构造函数内部的代码]
+ Classes
1 Class-Like structures in ecma5
1
2
3
4
5
6
7
8
9
10
11
12
13
14
// property
function PersonType(name){
this.name = name;
}
// methods: be assigned to the prototype
// all instances of the object share the same function
PersonType.prototype.sayName = function(){
console.log(this.name);
}
let person = new PersonType('chochi');
person.sayName();
// person is a instance of obeject and PersonType
- more >>
+ more >>
@@ -573,7 +564,7 @@
- 展开全文 >>
+ 展开全文 >>
diff --git a/tags/JS/index.html b/tags/JS/index.html
index e00e43a..bc49673 100644
--- a/tags/JS/index.html
+++ b/tags/JS/index.html
@@ -155,14 +155,14 @@ chochi
- ECMA5 对象
+ ECMA5 函数
@@ -204,14 +204,14 @@
- ECMA5 函数
+ ECMA5 对象
@@ -253,14 +253,14 @@
- ECMA5 包装对象
+ ECMA5 数组
@@ -302,14 +302,14 @@
- ECMA6 类
+ ECMA5 包装对象
@@ -351,14 +351,14 @@
- ECMA5 数组
+ ECMA5 面向对象编程
@@ -400,14 +400,14 @@
- ECMA5 面向对象编程
+ ECMA6 类
@@ -842,7 +853,7 @@
- ECMA5 标准库 + ECMA5 对象
- + @@ -804,10 +811,14 @@
- 1 判断某个变量是否为对象
1
2
3
function isObject(value){
return value === Object(value);
}
-2 对象的键名
+ 1 键名
+- 对象的所有键名都是字符串,若键名不符合标识符的条件,则必须加上引号。
+- 如果使用方运算符,键名必须放在引号里,否则会被当做变量处理。
+- 数字键可以不加引号,会自动转成字符串。
1
2
3
4
5
6
let obj = { flag: true };
obj[flag] // undefined
obj.flag // true
obj.['flag'] // true
flag ='flag';
obj[flag] // ture
+
+
- more >>
+ more >>
@@ -821,7 +832,7 @@
- 展开全文 >>
+ 展开全文 >>
@@ -872,19 +883,19 @@
+
- ECMA5 对象
+ ECMA5 函数
-
+
@@ -892,14 +903,12 @@
- 1 键名
-- 对象的所有键名都是字符串,若键名不符合标识符的条件,则必须加上引号。
-- 如果使用方运算符,键名必须放在引号里,否则会被当做变量处理。
-- 数字键可以不加引号,会自动转成字符串。
1
2
3
4
5
6
let obj = { flag: true };
obj[flag] // undefined
obj.flag // true
obj.['flag'] // true
flag ='flag';
obj[flag] // ture
-
+ 1 概述
1.1 重复声明
+- 函数的声明会提升到函数定义时所在的作用域的头部。故同名函数会被后来的函数替代。
+1
2
3
4
5
6
7
8
function f(){
console.log('one');
}
f(); //two
function f(){
console.log('two');
}
f(); //two
- more >>
+ more >>
@@ -934,7 +943,7 @@ 1
diff --git a/page/2/index.html b/page/2/index.html
index bbbb044..638fa14 100644
--- a/page/2/index.html
+++ b/page/2/index.html
@@ -140,19 +140,19 @@ chochi
-
+
@@ -200,7 +202,7 @@ 1
@@ -230,19 +232,19 @@ 1
-
+
- ECMA5 包装对象
+ ECMA5 标准库
-
+
@@ -250,16 +252,10 @@
- 1 定义
-- 数值、字符串、布尔值这三种原型类型的值,在一定条件下也会自动转化为对象,也就是原始类型的包装对象。
-- Number String Boolean
-- 包装对象的目的,使得语言都有一个通用的数据模型,其次是得原始类型的值也有可以调动自己的方法。
-- 原始类型的值会自动当做包装对象调用,即调用包装对象的属性和方法。JS引擎糊自动将原始类型的值转换为包装对象实例,并在使用后立即销毁。
-- 自动转换生成的包装对象是只读的,无法修改。
-
-1
2
3
4
5
6
7
8
9
10
11
var str = 'abc';
str.length; // 3
// 等同于
var strObj = new String(str);
/*
String{
0:"1",1:"b",2;"c",length:3[[PrimitiveValue]]:"abc"
}
strObj.length;//3
*/
+ 1 判断某个变量是否为对象
1
2
3
function isObject(value){
return value === Object(value);
}
+2 对象的键名
- more >>
+ more >>
@@ -273,7 +269,7 @@ 1
@@ -294,7 +290,7 @@ 1
@@ -416,19 +412,19 @@ 1
-
+
- ECMA5 数组
+ ECMA5 面向对象编程
-
+
@@ -436,19 +432,22 @@
- 1 静态方法
1.1 判断是否为数组
-- 使用Array的静态方法
-
-1
Array.isArray( array )
-
-- 使用原型toString方法,返回的字符串第二个词表示构造函数
+
1 实例对象与new 命令
1.1 构造函数
+- 函数体内部使用了 this 关键字,代表了所要生成的对象实例。
+- 生成对象的时候,必须使用 new 命令
+- 函数名首字母大写,以示区别。
+
+1.2 new 命令
+- 执行构造函数,返回一个对象实例。
+
+1.2.1 new 原理
1
2
3
4
graph TB
A[1.创建一个空对象作为将要返回的对象实例]--> B[2.将这个空对象的原型指向构造函数的prototype属性]
B-->C[3.将空对象赋值给函数内部的this关键字]
C-->D[4.开始执行构造函数内部的代码]
- more >>
+ more >>
-
+
@@ -478,7 +477,7 @@
- 展开全文 >>
+ 展开全文 >>
@@ -508,19 +507,19 @@
+
- ECMA5 面向对象编程
+ ECMA6 类
-
+
@@ -528,17 +527,9 @@
- 1 实例对象与new 命令
1.1 构造函数
-- 函数体内部使用了 this 关键字,代表了所要生成的对象实例。
-- 生成对象的时候,必须使用 new 命令
-- 函数名首字母大写,以示区别。
-
-1.2 new 命令
-- 执行构造函数,返回一个对象实例。
-
-1.2.1 new 原理
1
2
3
4
graph TB
A[1.创建一个空对象作为将要返回的对象实例]--> B[2.将这个空对象的原型指向构造函数的prototype属性]
B-->C[3.将空对象赋值给函数内部的this关键字]
C-->D[4.开始执行构造函数内部的代码]
+ Classes
1 Class-Like structures in ecma5
1
2
3
4
5
6
7
8
9
10
11
12
13
14
// property
function PersonType(name){
this.name = name;
}
// methods: be assigned to the prototype
// all instances of the object share the same function
PersonType.prototype.sayName = function(){
console.log(this.name);
}
let person = new PersonType('chochi');
person.sayName();
// person is a instance of obeject and PersonType
- more >>
+ more >>
@@ -573,7 +564,7 @@
- 展开全文 >>
+ 展开全文 >>
diff --git a/tags/JS/index.html b/tags/JS/index.html
index e00e43a..bc49673 100644
--- a/tags/JS/index.html
+++ b/tags/JS/index.html
@@ -155,14 +155,14 @@ chochi
- ECMA5 对象
+ ECMA5 函数
@@ -204,14 +204,14 @@
- ECMA5 函数
+ ECMA5 对象
@@ -253,14 +253,14 @@
- ECMA5 包装对象
+ ECMA5 数组
@@ -302,14 +302,14 @@
- ECMA6 类
+ ECMA5 包装对象
@@ -351,14 +351,14 @@
- ECMA5 数组
+ ECMA5 面向对象编程
@@ -400,14 +400,14 @@
- ECMA5 面向对象编程
+ ECMA6 类
@@ -842,7 +853,7 @@
1 判断某个变量是否为对象
1 | function isObject(value){ |
2 对象的键名
+1 键名
-
+
- 对象的所有键名都是字符串,若键名不符合标识符的条件,则必须加上引号。 +
- 如果使用方运算符,键名必须放在引号里,否则会被当做变量处理。 +
- 数字键可以不加引号,会自动转成字符串。+
1
2
3
4
5
6let obj = { flag: true };
obj[flag] // undefined
obj.flag // true
obj.['flag'] // true
flag ='flag';
obj[flag] // ture
+
- 展开全文 >>
+ 展开全文 >>
@@ -872,19 +883,19 @@
+
- ECMA5 对象
+ ECMA5 函数
-
+
@@ -892,14 +903,12 @@
- 1 键名
-- 对象的所有键名都是字符串,若键名不符合标识符的条件,则必须加上引号。
-- 如果使用方运算符,键名必须放在引号里,否则会被当做变量处理。
-- 数字键可以不加引号,会自动转成字符串。
1
2
3
4
5
6
let obj = { flag: true };
obj[flag] // undefined
obj.flag // true
obj.['flag'] // true
flag ='flag';
obj[flag] // ture
-
+ 1 概述
1.1 重复声明
+- 函数的声明会提升到函数定义时所在的作用域的头部。故同名函数会被后来的函数替代。
+1
2
3
4
5
6
7
8
function f(){
console.log('one');
}
f(); //two
function f(){
console.log('two');
}
f(); //two
- more >>
+ more >>
@@ -934,7 +943,7 @@ 1
diff --git a/page/2/index.html b/page/2/index.html
index bbbb044..638fa14 100644
--- a/page/2/index.html
+++ b/page/2/index.html
@@ -140,19 +140,19 @@ chochi
-
+
@@ -200,7 +202,7 @@ 1
@@ -230,19 +232,19 @@ 1
-
+
- ECMA5 包装对象
+ ECMA5 标准库
-
+
@@ -250,16 +252,10 @@
- 1 定义
-- 数值、字符串、布尔值这三种原型类型的值,在一定条件下也会自动转化为对象,也就是原始类型的包装对象。
-- Number String Boolean
-- 包装对象的目的,使得语言都有一个通用的数据模型,其次是得原始类型的值也有可以调动自己的方法。
-- 原始类型的值会自动当做包装对象调用,即调用包装对象的属性和方法。JS引擎糊自动将原始类型的值转换为包装对象实例,并在使用后立即销毁。
-- 自动转换生成的包装对象是只读的,无法修改。
-
-1
2
3
4
5
6
7
8
9
10
11
var str = 'abc';
str.length; // 3
// 等同于
var strObj = new String(str);
/*
String{
0:"1",1:"b",2;"c",length:3[[PrimitiveValue]]:"abc"
}
strObj.length;//3
*/
+ 1 判断某个变量是否为对象
1
2
3
function isObject(value){
return value === Object(value);
}
+2 对象的键名
- more >>
+ more >>
@@ -273,7 +269,7 @@ 1
@@ -294,7 +290,7 @@ 1
@@ -416,19 +412,19 @@ 1
-
+
- ECMA5 数组
+ ECMA5 面向对象编程
-
+
@@ -436,19 +432,22 @@
- 1 静态方法
1.1 判断是否为数组
-- 使用Array的静态方法
-
-1
Array.isArray( array )
-
-- 使用原型toString方法,返回的字符串第二个词表示构造函数
+
1 实例对象与new 命令
1.1 构造函数
+- 函数体内部使用了 this 关键字,代表了所要生成的对象实例。
+- 生成对象的时候,必须使用 new 命令
+- 函数名首字母大写,以示区别。
+
+1.2 new 命令
+- 执行构造函数,返回一个对象实例。
+
+1.2.1 new 原理
1
2
3
4
graph TB
A[1.创建一个空对象作为将要返回的对象实例]--> B[2.将这个空对象的原型指向构造函数的prototype属性]
B-->C[3.将空对象赋值给函数内部的this关键字]
C-->D[4.开始执行构造函数内部的代码]
- more >>
+ more >>
-
+
@@ -478,7 +477,7 @@
- 展开全文 >>
+ 展开全文 >>
@@ -508,19 +507,19 @@
+
- ECMA5 面向对象编程
+ ECMA6 类
-
+
@@ -528,17 +527,9 @@
- 1 实例对象与new 命令
1.1 构造函数
-- 函数体内部使用了 this 关键字,代表了所要生成的对象实例。
-- 生成对象的时候,必须使用 new 命令
-- 函数名首字母大写,以示区别。
-
-1.2 new 命令
-- 执行构造函数,返回一个对象实例。
-
-1.2.1 new 原理
1
2
3
4
graph TB
A[1.创建一个空对象作为将要返回的对象实例]--> B[2.将这个空对象的原型指向构造函数的prototype属性]
B-->C[3.将空对象赋值给函数内部的this关键字]
C-->D[4.开始执行构造函数内部的代码]
+ Classes
1 Class-Like structures in ecma5
1
2
3
4
5
6
7
8
9
10
11
12
13
14
// property
function PersonType(name){
this.name = name;
}
// methods: be assigned to the prototype
// all instances of the object share the same function
PersonType.prototype.sayName = function(){
console.log(this.name);
}
let person = new PersonType('chochi');
person.sayName();
// person is a instance of obeject and PersonType
- more >>
+ more >>
@@ -573,7 +564,7 @@
- 展开全文 >>
+ 展开全文 >>
diff --git a/tags/JS/index.html b/tags/JS/index.html
index e00e43a..bc49673 100644
--- a/tags/JS/index.html
+++ b/tags/JS/index.html
@@ -155,14 +155,14 @@ chochi
- ECMA5 对象
+ ECMA5 函数
@@ -204,14 +204,14 @@
- ECMA5 函数
+ ECMA5 对象
@@ -253,14 +253,14 @@
- ECMA5 包装对象
+ ECMA5 数组
@@ -302,14 +302,14 @@
- ECMA6 类
+ ECMA5 包装对象
@@ -351,14 +351,14 @@
- ECMA5 数组
+ ECMA5 面向对象编程
@@ -400,14 +400,14 @@
- ECMA5 面向对象编程
+ ECMA6 类
@@ -842,7 +853,7 @@
+
- ECMA5 对象
+ ECMA5 函数
-
+
@@ -892,14 +903,12 @@
- 1 键名
-- 对象的所有键名都是字符串,若键名不符合标识符的条件,则必须加上引号。
-- 如果使用方运算符,键名必须放在引号里,否则会被当做变量处理。
-- 数字键可以不加引号,会自动转成字符串。
1
2
3
4
5
6
let obj = { flag: true };
obj[flag] // undefined
obj.flag // true
obj.['flag'] // true
flag ='flag';
obj[flag] // ture
-
+ 1 概述
1.1 重复声明
+- 函数的声明会提升到函数定义时所在的作用域的头部。故同名函数会被后来的函数替代。
+1
2
3
4
5
6
7
8
function f(){
console.log('one');
}
f(); //two
function f(){
console.log('two');
}
f(); //two
- more >>
+ more >>
@@ -934,7 +943,7 @@ 1
diff --git a/page/2/index.html b/page/2/index.html
index bbbb044..638fa14 100644
--- a/page/2/index.html
+++ b/page/2/index.html
@@ -140,19 +140,19 @@ chochi
-
+
@@ -200,7 +202,7 @@ 1
@@ -230,19 +232,19 @@ 1
-
+
- ECMA5 包装对象
+ ECMA5 标准库
-
+
@@ -250,16 +252,10 @@
- 1 定义
-- 数值、字符串、布尔值这三种原型类型的值,在一定条件下也会自动转化为对象,也就是原始类型的包装对象。
-- Number String Boolean
-- 包装对象的目的,使得语言都有一个通用的数据模型,其次是得原始类型的值也有可以调动自己的方法。
-- 原始类型的值会自动当做包装对象调用,即调用包装对象的属性和方法。JS引擎糊自动将原始类型的值转换为包装对象实例,并在使用后立即销毁。
-- 自动转换生成的包装对象是只读的,无法修改。
-
-1
2
3
4
5
6
7
8
9
10
11
var str = 'abc';
str.length; // 3
// 等同于
var strObj = new String(str);
/*
String{
0:"1",1:"b",2;"c",length:3[[PrimitiveValue]]:"abc"
}
strObj.length;//3
*/
+ 1 判断某个变量是否为对象
1
2
3
function isObject(value){
return value === Object(value);
}
+2 对象的键名
- more >>
+ more >>
@@ -273,7 +269,7 @@ 1
@@ -294,7 +290,7 @@ 1
@@ -416,19 +412,19 @@ 1
-
+
- ECMA5 数组
+ ECMA5 面向对象编程
-
+
@@ -436,19 +432,22 @@
- 1 静态方法
1.1 判断是否为数组
-- 使用Array的静态方法
-
-1
Array.isArray( array )
-
-- 使用原型toString方法,返回的字符串第二个词表示构造函数
+
1 实例对象与new 命令
1.1 构造函数
+- 函数体内部使用了 this 关键字,代表了所要生成的对象实例。
+- 生成对象的时候,必须使用 new 命令
+- 函数名首字母大写,以示区别。
+
+1.2 new 命令
+- 执行构造函数,返回一个对象实例。
+
+1.2.1 new 原理
1
2
3
4
graph TB
A[1.创建一个空对象作为将要返回的对象实例]--> B[2.将这个空对象的原型指向构造函数的prototype属性]
B-->C[3.将空对象赋值给函数内部的this关键字]
C-->D[4.开始执行构造函数内部的代码]
- more >>
+ more >>
-
+
@@ -478,7 +477,7 @@
- 展开全文 >>
+ 展开全文 >>
@@ -508,19 +507,19 @@
+
- ECMA5 面向对象编程
+ ECMA6 类
-
+
@@ -528,17 +527,9 @@
- 1 实例对象与new 命令
1.1 构造函数
-- 函数体内部使用了 this 关键字,代表了所要生成的对象实例。
-- 生成对象的时候,必须使用 new 命令
-- 函数名首字母大写,以示区别。
-
-1.2 new 命令
-- 执行构造函数,返回一个对象实例。
-
-1.2.1 new 原理
1
2
3
4
graph TB
A[1.创建一个空对象作为将要返回的对象实例]--> B[2.将这个空对象的原型指向构造函数的prototype属性]
B-->C[3.将空对象赋值给函数内部的this关键字]
C-->D[4.开始执行构造函数内部的代码]
+ Classes
1 Class-Like structures in ecma5
1
2
3
4
5
6
7
8
9
10
11
12
13
14
// property
function PersonType(name){
this.name = name;
}
// methods: be assigned to the prototype
// all instances of the object share the same function
PersonType.prototype.sayName = function(){
console.log(this.name);
}
let person = new PersonType('chochi');
person.sayName();
// person is a instance of obeject and PersonType
- more >>
+ more >>
@@ -573,7 +564,7 @@
- 展开全文 >>
+ 展开全文 >>
diff --git a/tags/JS/index.html b/tags/JS/index.html
index e00e43a..bc49673 100644
--- a/tags/JS/index.html
+++ b/tags/JS/index.html
@@ -155,14 +155,14 @@ chochi
- ECMA5 对象
+ ECMA5 函数
@@ -204,14 +204,14 @@
- ECMA5 函数
+ ECMA5 对象
@@ -253,14 +253,14 @@
- ECMA5 包装对象
+ ECMA5 数组
@@ -302,14 +302,14 @@
- ECMA6 类
+ ECMA5 包装对象
@@ -351,14 +351,14 @@
- ECMA5 数组
+ ECMA5 面向对象编程
@@ -400,14 +400,14 @@
- ECMA5 面向对象编程
+ ECMA6 类
- ECMA5 对象 + ECMA5 函数
- + @@ -892,14 +903,12 @@
- 1 键名
-- 对象的所有键名都是字符串,若键名不符合标识符的条件,则必须加上引号。
-- 如果使用方运算符,键名必须放在引号里,否则会被当做变量处理。
-- 数字键可以不加引号,会自动转成字符串。
1
2
3
4
5
6
let obj = { flag: true };
obj[flag] // undefined
obj.flag // true
obj.['flag'] // true
flag ='flag';
obj[flag] // ture
-
+ 1 概述
1.1 重复声明
+- 函数的声明会提升到函数定义时所在的作用域的头部。故同名函数会被后来的函数替代。
+1
2
3
4
5
6
7
8
function f(){
console.log('one');
}
f(); //two
function f(){
console.log('two');
}
f(); //two
- more >>
+ more >>
@@ -934,7 +943,7 @@ 1
diff --git a/page/2/index.html b/page/2/index.html
index bbbb044..638fa14 100644
--- a/page/2/index.html
+++ b/page/2/index.html
@@ -140,19 +140,19 @@ chochi
-
+
@@ -200,7 +202,7 @@ 1
@@ -230,19 +232,19 @@ 1
-
+
- ECMA5 包装对象
+ ECMA5 标准库
-
+
@@ -250,16 +252,10 @@
- 1 定义
-- 数值、字符串、布尔值这三种原型类型的值,在一定条件下也会自动转化为对象,也就是原始类型的包装对象。
-- Number String Boolean
-- 包装对象的目的,使得语言都有一个通用的数据模型,其次是得原始类型的值也有可以调动自己的方法。
-- 原始类型的值会自动当做包装对象调用,即调用包装对象的属性和方法。JS引擎糊自动将原始类型的值转换为包装对象实例,并在使用后立即销毁。
-- 自动转换生成的包装对象是只读的,无法修改。
-
-1
2
3
4
5
6
7
8
9
10
11
var str = 'abc';
str.length; // 3
// 等同于
var strObj = new String(str);
/*
String{
0:"1",1:"b",2;"c",length:3[[PrimitiveValue]]:"abc"
}
strObj.length;//3
*/
+ 1 判断某个变量是否为对象
1
2
3
function isObject(value){
return value === Object(value);
}
+2 对象的键名
- more >>
+ more >>
@@ -273,7 +269,7 @@ 1
@@ -294,7 +290,7 @@ 1
@@ -416,19 +412,19 @@ 1
-
+
- ECMA5 数组
+ ECMA5 面向对象编程
-
+
@@ -436,19 +432,22 @@
- 1 静态方法
1.1 判断是否为数组
-- 使用Array的静态方法
-
-1
Array.isArray( array )
-
-- 使用原型toString方法,返回的字符串第二个词表示构造函数
+
1 实例对象与new 命令
1.1 构造函数
+- 函数体内部使用了 this 关键字,代表了所要生成的对象实例。
+- 生成对象的时候,必须使用 new 命令
+- 函数名首字母大写,以示区别。
+
+1.2 new 命令
+- 执行构造函数,返回一个对象实例。
+
+1.2.1 new 原理
1
2
3
4
graph TB
A[1.创建一个空对象作为将要返回的对象实例]--> B[2.将这个空对象的原型指向构造函数的prototype属性]
B-->C[3.将空对象赋值给函数内部的this关键字]
C-->D[4.开始执行构造函数内部的代码]
- more >>
+ more >>
-
+
@@ -478,7 +477,7 @@
- 展开全文 >>
+ 展开全文 >>
@@ -508,19 +507,19 @@
+
- ECMA5 面向对象编程
+ ECMA6 类
-
+
@@ -528,17 +527,9 @@
- 1 实例对象与new 命令
1.1 构造函数
-- 函数体内部使用了 this 关键字,代表了所要生成的对象实例。
-- 生成对象的时候,必须使用 new 命令
-- 函数名首字母大写,以示区别。
-
-1.2 new 命令
-- 执行构造函数,返回一个对象实例。
-
-1.2.1 new 原理
1
2
3
4
graph TB
A[1.创建一个空对象作为将要返回的对象实例]--> B[2.将这个空对象的原型指向构造函数的prototype属性]
B-->C[3.将空对象赋值给函数内部的this关键字]
C-->D[4.开始执行构造函数内部的代码]
+ Classes
1 Class-Like structures in ecma5
1
2
3
4
5
6
7
8
9
10
11
12
13
14
// property
function PersonType(name){
this.name = name;
}
// methods: be assigned to the prototype
// all instances of the object share the same function
PersonType.prototype.sayName = function(){
console.log(this.name);
}
let person = new PersonType('chochi');
person.sayName();
// person is a instance of obeject and PersonType
- more >>
+ more >>
@@ -573,7 +564,7 @@
- 展开全文 >>
+ 展开全文 >>
diff --git a/tags/JS/index.html b/tags/JS/index.html
index e00e43a..bc49673 100644
--- a/tags/JS/index.html
+++ b/tags/JS/index.html
@@ -155,14 +155,14 @@ chochi
- ECMA5 对象
+ ECMA5 函数
@@ -204,14 +204,14 @@
- ECMA5 函数
+ ECMA5 对象
@@ -253,14 +253,14 @@
- ECMA5 包装对象
+ ECMA5 数组
@@ -302,14 +302,14 @@
- ECMA6 类
+ ECMA5 包装对象
@@ -351,14 +351,14 @@
- ECMA5 数组
+ ECMA5 面向对象编程
@@ -400,14 +400,14 @@
- ECMA5 面向对象编程
+ ECMA6 类
1 键名
-
-
- 对象的所有键名都是字符串,若键名不符合标识符的条件,则必须加上引号。 -
- 如果使用方运算符,键名必须放在引号里,否则会被当做变量处理。 -
- 数字键可以不加引号,会自动转成字符串。-
1
2
3
4
5
6let obj = { flag: true };
obj[flag] // undefined
obj.flag // true
obj.['flag'] // true
flag ='flag';
obj[flag] // ture
+ - 函数的声明会提升到函数定义时所在的作用域的头部。故同名函数会被后来的函数替代。
- 数值、字符串、布尔值这三种原型类型的值,在一定条件下也会自动转化为对象,也就是原始类型的包装对象。 -
- Number String Boolean -
- 包装对象的目的,使得语言都有一个通用的数据模型,其次是得原始类型的值也有可以调动自己的方法。 -
- 原始类型的值会自动当做包装对象调用,即调用包装对象的属性和方法。JS引擎糊自动将原始类型的值转换为包装对象实例,并在使用后立即销毁。 -
- 自动转换生成的包装对象是只读的,无法修改。 -
- 使用Array的静态方法 -
- 使用原型toString方法,返回的字符串第二个词表示构造函数
+
1 实例对象与new 命令
1.1 构造函数
-
+
- 函数体内部使用了 this 关键字,代表了所要生成的对象实例。 +
- 生成对象的时候,必须使用 new 命令 +
- 函数名首字母大写,以示区别。 +
1.2 new 命令
-
+
- 执行构造函数,返回一个对象实例。 +
1.2.1 new 原理
- more >> + more >> -1
2
3
4graph TB
A[1.创建一个空对象作为将要返回的对象实例]--> B[2.将这个空对象的原型指向构造函数的prototype属性]
B-->C[3.将空对象赋值给函数内部的this关键字]
C-->D[4.开始执行构造函数内部的代码] - 函数体内部使用了 this 关键字,代表了所要生成的对象实例。 -
- 生成对象的时候,必须使用 new 命令 -
- 函数名首字母大写,以示区别。 -
- 执行构造函数,返回一个对象实例。 -
1 概述
1.1 重复声明
-
+
1 | function f(){ |
1
diff --git a/page/2/index.html b/page/2/index.html index bbbb044..638fa14 100644 --- a/page/2/index.html +++ b/page/2/index.html @@ -140,19 +140,19 @@chochi
-
+
@@ -200,7 +202,7 @@ 1
-
1
@@ -230,19 +232,19 @@1
-
+
- ECMA5 包装对象
+ ECMA5 标准库
-
+
@@ -250,16 +252,10 @@
- 1 定义
-
-1
2
3
4
5
6
7
8
9
10
11
var str = 'abc';
str.length; // 3
// 等同于
var strObj = new String(str);
/*
String{
0:"1",1:"b",2;"c",length:3[[PrimitiveValue]]:"abc"
}
strObj.length;//3
*/
+ 1 判断某个变量是否为对象
1
2
3
function isObject(value){
return value === Object(value);
}
+2 对象的键名
- more >>
+ more >>
@@ -273,7 +269,7 @@ 1
@@ -294,7 +290,7 @@ 1
@@ -416,19 +412,19 @@ 1
-
+
- ECMA5 数组
+ ECMA5 面向对象编程
-
+
@@ -436,19 +432,22 @@
- 1 静态方法
1.1 判断是否为数组
-
-1
Array.isArray( array )
-
-
+
@@ -478,7 +477,7 @@
- 展开全文 >>
+ 展开全文 >>
@@ -508,19 +507,19 @@
+
- ECMA5 面向对象编程
+ ECMA6 类
-
+
@@ -528,17 +527,9 @@
- 1 实例对象与new 命令
1.1 构造函数
-
-1.2 new 命令
-
-1.2.1 new 原理
1
2
3
4
graph TB
A[1.创建一个空对象作为将要返回的对象实例]--> B[2.将这个空对象的原型指向构造函数的prototype属性]
B-->C[3.将空对象赋值给函数内部的this关键字]
C-->D[4.开始执行构造函数内部的代码]
+ Classes
1 Class-Like structures in ecma5
1
2
3
4
5
6
7
8
9
10
11
12
13
14
// property
function PersonType(name){
this.name = name;
}
// methods: be assigned to the prototype
// all instances of the object share the same function
PersonType.prototype.sayName = function(){
console.log(this.name);
}
let person = new PersonType('chochi');
person.sayName();
// person is a instance of obeject and PersonType
- more >>
+ more >>
@@ -573,7 +564,7 @@
- 展开全文 >>
+ 展开全文 >>
diff --git a/tags/JS/index.html b/tags/JS/index.html
index e00e43a..bc49673 100644
--- a/tags/JS/index.html
+++ b/tags/JS/index.html
@@ -155,14 +155,14 @@ chochi
- ECMA5 对象
+ ECMA5 函数
@@ -204,14 +204,14 @@
- ECMA5 函数
+ ECMA5 对象
@@ -253,14 +253,14 @@
- ECMA5 包装对象
+ ECMA5 数组
@@ -302,14 +302,14 @@
- ECMA6 类
+ ECMA5 包装对象
@@ -351,14 +351,14 @@
- ECMA5 数组
+ ECMA5 面向对象编程
@@ -400,14 +400,14 @@
- ECMA5 面向对象编程
+ ECMA6 类
- ECMA5 包装对象 + ECMA5 标准库
- + @@ -250,16 +252,10 @@
- 1 定义
-
-1
2
3
4
5
6
7
8
9
10
11
var str = 'abc';
str.length; // 3
// 等同于
var strObj = new String(str);
/*
String{
0:"1",1:"b",2;"c",length:3[[PrimitiveValue]]:"abc"
}
strObj.length;//3
*/
+ 1 判断某个变量是否为对象
1
2
3
function isObject(value){
return value === Object(value);
}
+2 对象的键名
- more >>
+ more >>
@@ -273,7 +269,7 @@ 1
@@ -294,7 +290,7 @@ 1
@@ -416,19 +412,19 @@ 1
-
+
- ECMA5 数组
+ ECMA5 面向对象编程
-
+
@@ -436,19 +432,22 @@
- 1 静态方法
1.1 判断是否为数组
-
-1
Array.isArray( array )
-
-
+
@@ -478,7 +477,7 @@
- 展开全文 >>
+ 展开全文 >>
@@ -508,19 +507,19 @@
+
- ECMA5 面向对象编程
+ ECMA6 类
-
+
@@ -528,17 +527,9 @@
- 1 实例对象与new 命令
1.1 构造函数
-
-1.2 new 命令
-
-1.2.1 new 原理
1
2
3
4
graph TB
A[1.创建一个空对象作为将要返回的对象实例]--> B[2.将这个空对象的原型指向构造函数的prototype属性]
B-->C[3.将空对象赋值给函数内部的this关键字]
C-->D[4.开始执行构造函数内部的代码]
+ Classes
1 Class-Like structures in ecma5
1
2
3
4
5
6
7
8
9
10
11
12
13
14
// property
function PersonType(name){
this.name = name;
}
// methods: be assigned to the prototype
// all instances of the object share the same function
PersonType.prototype.sayName = function(){
console.log(this.name);
}
let person = new PersonType('chochi');
person.sayName();
// person is a instance of obeject and PersonType
- more >>
+ more >>
@@ -573,7 +564,7 @@
- 展开全文 >>
+ 展开全文 >>
diff --git a/tags/JS/index.html b/tags/JS/index.html
index e00e43a..bc49673 100644
--- a/tags/JS/index.html
+++ b/tags/JS/index.html
@@ -155,14 +155,14 @@ chochi
- ECMA5 对象
+ ECMA5 函数
@@ -204,14 +204,14 @@
- ECMA5 函数
+ ECMA5 对象
@@ -253,14 +253,14 @@
- ECMA5 包装对象
+ ECMA5 数组
@@ -302,14 +302,14 @@
- ECMA6 类
+ ECMA5 包装对象
@@ -351,14 +351,14 @@
- ECMA5 数组
+ ECMA5 面向对象编程
@@ -400,14 +400,14 @@
- ECMA5 面向对象编程
+ ECMA6 类
1 定义
-
-
1 | var str = 'abc'; |
1 判断某个变量是否为对象
1 | function isObject(value){ |
2 对象的键名
- more >> + more >> @@ -273,7 +269,7 @@1
@@ -294,7 +290,7 @@ 1
@@ -416,19 +412,19 @@ 1
-
+
- ECMA5 数组
+ ECMA5 面向对象编程
-
+
@@ -436,19 +432,22 @@
- 1 静态方法
1.1 判断是否为数组
-
-1
Array.isArray( array )
-
-
+
@@ -478,7 +477,7 @@
- 展开全文 >>
+ 展开全文 >>
@@ -508,19 +507,19 @@
+
- ECMA5 面向对象编程
+ ECMA6 类
-
+
@@ -528,17 +527,9 @@
- 1 实例对象与new 命令
1.1 构造函数
-
-1.2 new 命令
-
-1.2.1 new 原理
1
2
3
4
graph TB
A[1.创建一个空对象作为将要返回的对象实例]--> B[2.将这个空对象的原型指向构造函数的prototype属性]
B-->C[3.将空对象赋值给函数内部的this关键字]
C-->D[4.开始执行构造函数内部的代码]
+ Classes
1 Class-Like structures in ecma5
1
2
3
4
5
6
7
8
9
10
11
12
13
14
// property
function PersonType(name){
this.name = name;
}
// methods: be assigned to the prototype
// all instances of the object share the same function
PersonType.prototype.sayName = function(){
console.log(this.name);
}
let person = new PersonType('chochi');
person.sayName();
// person is a instance of obeject and PersonType
- more >>
+ more >>
@@ -573,7 +564,7 @@
- 展开全文 >>
+ 展开全文 >>
diff --git a/tags/JS/index.html b/tags/JS/index.html
index e00e43a..bc49673 100644
--- a/tags/JS/index.html
+++ b/tags/JS/index.html
@@ -155,14 +155,14 @@ chochi
- ECMA5 对象
+ ECMA5 函数
@@ -204,14 +204,14 @@
- ECMA5 函数
+ ECMA5 对象
@@ -253,14 +253,14 @@
- ECMA5 包装对象
+ ECMA5 数组
@@ -302,14 +302,14 @@
- ECMA6 类
+ ECMA5 包装对象
@@ -351,14 +351,14 @@
- ECMA5 数组
+ ECMA5 面向对象编程
@@ -400,14 +400,14 @@
- ECMA5 面向对象编程
+ ECMA6 类
- ECMA5 数组 + ECMA5 面向对象编程
- + @@ -436,19 +432,22 @@
- 1 静态方法
1.1 判断是否为数组
-
-1
Array.isArray( array )
-
-
+
1 静态方法
1.1 判断是否为数组
-
-
1 | Array.isArray( array ) |
-
-
@@ -478,7 +477,7 @@
- 展开全文 >>
+ 展开全文 >>
@@ -508,19 +507,19 @@
- 展开全文 >>
+ 展开全文 >>
@@ -508,19 +507,19 @@
+
- ECMA5 面向对象编程
+ ECMA6 类
-
+
@@ -528,17 +527,9 @@
- 1 实例对象与new 命令
1.1 构造函数
-
-1.2 new 命令
-
-1.2.1 new 原理
1
2
3
4
graph TB
A[1.创建一个空对象作为将要返回的对象实例]--> B[2.将这个空对象的原型指向构造函数的prototype属性]
B-->C[3.将空对象赋值给函数内部的this关键字]
C-->D[4.开始执行构造函数内部的代码]
+ Classes
1 Class-Like structures in ecma5
1
2
3
4
5
6
7
8
9
10
11
12
13
14
// property
function PersonType(name){
this.name = name;
}
// methods: be assigned to the prototype
// all instances of the object share the same function
PersonType.prototype.sayName = function(){
console.log(this.name);
}
let person = new PersonType('chochi');
person.sayName();
// person is a instance of obeject and PersonType
- more >>
+ more >>
@@ -573,7 +564,7 @@
- 展开全文 >>
+ 展开全文 >>
diff --git a/tags/JS/index.html b/tags/JS/index.html
index e00e43a..bc49673 100644
--- a/tags/JS/index.html
+++ b/tags/JS/index.html
@@ -155,14 +155,14 @@ chochi
- ECMA5 对象
+ ECMA5 函数
@@ -204,14 +204,14 @@
- ECMA5 函数
+ ECMA5 对象
@@ -253,14 +253,14 @@
- ECMA5 包装对象
+ ECMA5 数组
@@ -302,14 +302,14 @@
- ECMA6 类
+ ECMA5 包装对象
@@ -351,14 +351,14 @@
- ECMA5 数组
+ ECMA5 面向对象编程
@@ -400,14 +400,14 @@
- ECMA5 面向对象编程
+ ECMA6 类
- ECMA5 面向对象编程 + ECMA6 类
- + @@ -528,17 +527,9 @@
- 1 实例对象与new 命令
1.1 构造函数
-
-1.2 new 命令
-
-1.2.1 new 原理
1
2
3
4
graph TB
A[1.创建一个空对象作为将要返回的对象实例]--> B[2.将这个空对象的原型指向构造函数的prototype属性]
B-->C[3.将空对象赋值给函数内部的this关键字]
C-->D[4.开始执行构造函数内部的代码]
+ Classes
1 Class-Like structures in ecma5
1
2
3
4
5
6
7
8
9
10
11
12
13
14
// property
function PersonType(name){
this.name = name;
}
// methods: be assigned to the prototype
// all instances of the object share the same function
PersonType.prototype.sayName = function(){
console.log(this.name);
}
let person = new PersonType('chochi');
person.sayName();
// person is a instance of obeject and PersonType
- more >>
+ more >>
@@ -573,7 +564,7 @@
- 展开全文 >>
+ 展开全文 >>
diff --git a/tags/JS/index.html b/tags/JS/index.html
index e00e43a..bc49673 100644
--- a/tags/JS/index.html
+++ b/tags/JS/index.html
@@ -155,14 +155,14 @@ chochi
- ECMA5 对象
+ ECMA5 函数
@@ -204,14 +204,14 @@
- ECMA5 函数
+ ECMA5 对象
@@ -253,14 +253,14 @@
- ECMA5 包装对象
+ ECMA5 数组
@@ -302,14 +302,14 @@
- ECMA6 类
+ ECMA5 包装对象
@@ -351,14 +351,14 @@
- ECMA5 数组
+ ECMA5 面向对象编程
@@ -400,14 +400,14 @@
- ECMA5 面向对象编程
+ ECMA6 类
1 实例对象与new 命令
1.1 构造函数
-
-
1.2 new 命令
-
-
1.2.1 new 原理
1 | graph TB |
Classes
1 Class-Like structures in ecma5
1 | // property |