创建: 2019/02/26
添加: 2019/02/06 添加Object部分
添加: 2019/03/09 添加Function部分
毕竟自己曾经写的,彻底删得不留痕迹还是舍不得的。
但是的确已经没用了,所以全部放这里.
Object部分
生成 |
两种方法
符号 |
{键: 值, 键: 值, ...} 注意: 可以嵌套 例子: var sample = { a: 1, b: 2, "c":3}; var multi = { {a: 1, b: 2}, c: 1, d: 2 }; |
注意 |
键可以用单纯的符号,也可以用字符串。接入时候没有区别 |
构造函数 |
function Object-Name(args) {
this.property-name = ?;
this.property-name = ?;
...
}
var sample = new Object-Name(args);
例:
function ObjectTest(numA, numB) {
this.numA = numA;
this.numB = numB;
}
let objectTest = new ObjectTest(111, 222);
生成带方法的Object
function Sum(a, b) {
this.a = a;
this.b = b;
this.sum = function() {
return a + b;
}
}
var sample = new Sum(1, 2);
console.log(sample.sum()); // 3
|
注意 |
new |
生成实例并初始化 |
this |
表示生成的实例 注意,嵌套的话代表最靠近的一级的外层实例 |
|
作为构造函数的函数一般首字母大写(大驼峰记法) |
|
|
|
|
|
|
|
|
获取值 |
var sample = {a: 1, b: 2} 两种方法 注意: 用[]时候里面要放字符串
不存在时返回undefined
|
增加与删除元素 |
增加 |
直接往新键带值 var sample = {} sample.test1 = 1 |
删除 |
delete ... 例子: delete sample.test1 |
|
判断是否存在该属性 |
例:
注意: 判断包含其继承的祖先所包含的 例: "toString" in sample //=》true
|
内置Obejct |
传送门:http://www.cnblogs.com/lancgg/p/8281719.html |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Function部分
定义 |
函数声明也会上卷
普通版 |
function func-name(args) { ... } 例: function printNum(num) { print('你输入的数字: ' + num) }
注意: 不带return的话return值为undefined |
函数字符来定义 |
var sample = function(args) {...} 不用,这种不会被预处理。只用在对象的属性里 只能在声明后调用 回调时候无法识别(第十一章) // TODO: 补充 |
Object来定义 |
var name = new function("x", "y", ... , "process")
最后一个是处理,前面都是参数 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
呼出 |
func-name(args) 注意: 不可以省略括号 printNum(1234); |
函数定义的位置 |
哪里都可以,只要有定义,哪里可以利用 |
函数也是object |
例: function a() {}; var b = a; |
技巧 |
参数用object,维护成本降低 |
变量作用域 |
全局变量与本地变量冲突时,全局变量无效
注意: 不声明直接带入,自动作为全局变量 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|