JavaScript综合笔记3<高程+阮一峰+饥人谷>

2017-11-30  本文已影响18人  joker731

本章节最终要的知识点是内存图

数据类型

(规范)如果一个变量没有被赋值,那么这个变量的值就是 undefiend

(习俗)如果你想表示一个还没赋值的对象,就用 null。如果你想表示一个还没赋值的字符串/数字/布尔/symbol,就用 undefined(但是实际上你直接 var xxx 一下就行了,不用写 var xxx = undefined)

object

object 就是上面几种基本类型(无序地)组合在一起
object 里面可以有 object
var person = {
name: 'Frank',
'child': {
name: 'Jack'
}, // 最后这个逗号可有可无
}
object 的 key 一律是字符串,不存在其他类型的 key
object[''] 是合法的
object['key'] 可以写作 object.key
注意 object.key 与 object[key] 不同
delete object['key']
'key' in object

类型转换


内存常识

垃圾回收核心理念:如果一个对象没有被引用他就是垃圾,将会被回收.什么时候回收是由浏览器决定

深拷贝

以下是一些关于理解内存图的案例

var a = {'name':fang}
var b = a; //对象赋值是复制地址
b=null; // 这里的null是把b的地址改为null不影响 指引的对象,所以结果为fang
求a.name ? 答案输出:fang

var a ={};
a.self = a;
求a的值,结果为undefined

课后作业笔记

var name = 'x'
var obj = {
name: 'frank'
}
obj['name'] obj.name这两个答案都是'frank'
obj[name] 答案是undefined

上一篇 下一篇

猜你喜欢

热点阅读