《JavaScript模式》第1章 简介
@by Ruth92(转载请注明出处)
第1章 简介
模式
模式:是指一个通用问题的解决方案。
- 设计模式
- 编码模式
- 反模式:常见的、引发问题比解决的问题更多的一种方法。
JavaScript 基本概念
-
JS 五基本种类型(不是对象):
-
数值类型(
number
) -
字符串类型(
string
) -
布尔类型(
boolean
) -
空类型(
null
) -
未定义类型(
undefined
) -
其中,
number
,string
,boolean
有对应的以基本类型封装形式体现的对象表示,它们的值可以通过程序员或者位于幕后的 JavaScript 解析器来实现向对象的转换。
-
-
在 JavaScript 中,一旦定义好了变量,同时也就已经正在处理对象了。
-
首先,该变量会自动成为内置对象的一个属性,成为激活对象。
-
该变量实际上也是伪类,因为它拥有其自身的属性,该属性决定了该变量是否可以被修改、被删除和在一个 for-in 循环中进行枚举。
-
-
对象:一个对象仅仅是一个容器,该容器包含了命名的属性、键-值对(大多数)的列表,其中的属性可以是函数(函数对象,函数有属性和方法)。
-
对象主要有两种类型:
-
原生的——ECMAScript标准中描述;
-
主机的——在主机环境中(如浏览器环境)定义
-
原生的对象可以进一步分为:内置对象(如数组、日期对象等)和用户自定义对象(如 var o = {} 等)
-
主机对象包含 windows 对象和所有的 DOM 对象。
-
没有类
一个“空对象”实际上并不是完全空白的,它实际上是包含有一些内置的属性,但是没有其自身的属性。
"Gang of Four"书中的一条通用规则:
尽量多使用对象的组合,而不是使用类的继承。——>通过已有的对象组合来获取新对象,是比通过很长的父-子继承链来创建新的对象更好的一种方法。
Console
该对象不是 JavaScript 语言的一部分,而是指当今大多数浏览器都提供的一个运行环境。
log()
方法:打印所有传递过来的参数;
console.log('test', {}, [1,2,3]);
dir()
方法:枚举传递过来的对象,并打印出所有属性。
console.dir({one:1, two:{three:3}});