JavaScript知识体系搭建
盖房子的方法:
(搭建方法:对于一个概念用两种方法来解释:1,专业术语解释,2,大白话解释,对于形成体系之前你的学习方法是打桩学习法,学一点总结一点,对于基础概念和生活场景联系,对于复杂概念用逻辑挂钩在基础概念上,刚才仰头喝口水突然感觉这个好像跟多元思维模型有些近似啊,对于方法还有元学习课和拼图理论,方法实验的入口是每天看的练习的代码都用到了框架中的哪个知识的哪个特性,然后循环上面的方法)
1.一个数据集合:对象,json
1,全局对象:全局对象是预定义的对象,作为 JavaScript 的全局函数和全局属性的占位符。通过使用全局对象,可以访问所有其他所有预定义的对象、函数和属性。全局对象不是任何对象的属性,所以它没有名称。
2,this:如果嵌套函数作为方法调用,this的值指向调用它的对象,如果嵌套函数作为函数调用,其this值不是全局对象(非严格模式下)就是undefined(严格模式下)。访问外部函数的this值,需要将this的值保存在一个变量里面,这个变量和内部函数都同在一个作用域内,通常使用变量self来保存this。
eg:
<code>var o = {
m: function () {
var self = this;
console.log(this === o);
f();
function f() {
console.log(this === o);
console.log(self === o);
}
}
};
o.m(); 2018/3/6
3.对象直接量命名方式的应用:一个对象包括一个对象,一个等号,一个花括号,一个属性名,一个属性值,名和值构成一个对,两个对象之间用分号隔开,属性名和值之间用冒号,一对名和值构成的对用逗号分开,属性名可以是js标识符也可以是字符串直接量(包括空字符串),属性的值可以是任意类型的js表达式,表达式的值(可以是原始值也可以是对象值)就是这个属性的值,如果属性名里面包含空格和连字符必须用字符串表示,是保留字也必须用字符串表示。
两种访问属性值的方法:person.name;person['name']
2.两个方法:异步、同步
3.三大结构:顺序、循环、条件
4.多种数据格式:数组、布尔、json、字符串、数字、对象2018/3/6
数组
1.对于数组array来讲push index pop shift的作用,这四个都是操作数组的方式,
push是在数组末尾为数组增加一个或多个元素,返回的是原来的添加之后的元素的个数,pop是在元素末尾删除一个元素,返回的是被删除的元素,shift是同数组头部删除一个元素,并返回被删除的元素,indexOf(),是从前到后查找数组中某个原始的游标,而lastIndexOf()则是从后往前搜索数组元素的游标并返回游标。unshift是在数组的头部添加一个元素,这样pop和push是一组,那么unshift和shift是两外一个组添加和删除数组中元素,但是前者是在尾部,返回值也不同
2,表达式的类型包括:
A:原始表达式:1,常量或者直接量,比如数字直接量:1.0,他的返回值就是他本身吧;2,保留字,比如保留至true,返回一个布尔值:真;3,变量,比如变量i返回变量i的值;
B:数组或者对象的初始化表达式,也称为对象直接量或者数组直接量,因为其中含有子表达式所以不能归类为原始表达式,比如:[2,3,](注意数组直接量的元素列表结尾处可以留下单个逗号,这个时候并不会创建一个新的值为undefined的元素,而如果中间有逗号在非特殊情况下回创造一个undefined值
)
C:函数定义表达式:var square =function(x){return x*x;}
D:属性访问表达式,两种写法,一种是·,一种是[],对于属性访问表达式的几种计算结果可以参见犀牛书P63页,对于必须使用[]的集中情况也是这一页
E:调用表达式是一种调用函数或者方法的语法表示
F:对象创建表达式:创建一个对象并调用一个函数(这个函数称作构造函数)来初始化新对象的属性,如:new Object()
这个就是整个表达式的总结。