写在前面
本文记录的是我不熟悉
或者我认为值得注意
的地方,并不是书上知识点的概括。
第1章 JavaScript简介
-
JS诞生时间
:1995年(好年轻…) -
JS诞生背景
:表单数据合法性由服务端验证的用户体验不好,希望能在客户端进行验证 -
JS现在用处
:如果没有JS,网页内容只能用于展示,不能与用户进行交互(比如注册,登录)。现在JS主要用于实现网页上的各种交互
(其实也就是数据的通讯,把用户的交互数据丢给数据库,又从数据库拿出数据展示给用户)。再就是有些复杂的网页样式
/动画
也会用JS去实现。再就是canvas画图
这种。等等。
ECMA
(European Computer Manufacturers Association):欧洲计算机制造商协会
由于不同浏览器中实现的JS不一样,在1997年
ECMA
指定39号技术委员会
负责“标准化一种通用、跨平台、供应商中立的脚本语言的语法和语义”,也就是后来的ECMA-262——定义一种名为ECMAScript的新脚本语言的标准。
ECMAScript
与Web浏览器没有依赖关系。宿主环境
举例:Web浏览器;Node
一个完整的JS实现是由三部分组成的:
- 核心(
ECMAScript
):脚本语言的基本语法之类的;- 文档对象模型(
DOM
,Document Object Modal):提供页面内容相关信息和操作接口;- 浏览器对象模型(
BOM
,Browser Object Modal):提供浏览器相关信息和操作接口;
第2章 在HTML中使用JavaScript
在加载<script>
时,浏览器会被堵塞。而由于浏览器在遇到<body>
标签时才开始呈现内容,所以一般把<script>
放在<body>
标签中内容的后面,减少由于加载<script>
导致的页面空白时间。
第3章 基本概念
关键字
:有特殊用途的词保留字
:以后可能会被用作关键字的词
ECMAScript
中5种简单/基本数据类型:Undefined
、Null
、Boolean
、Number
、String
;1种复杂数据类型:Object
数据类型为Undefined
的值只有一个,即undefined
数据类型为Null
的值也只有一个,即null
null
表示一个空的对象指针
对于Number
一定一定要注意的一点是:JS对小数的计算并不准确,比如0.1 + 0.2
的执行结果是0.30000000000000004
。在项目中如果需要精确计算小数,可以引入专门处理JS浮点数计算问题的库
Number.MIN_VALUE
:最小数值Number.MAX_VALUE
:最大数值
如果某个值超过了范围,会被相应转换为-Infinity
和Infinity
,并且这个值不能参与计算,因为Infinity
不是能够参与计算的值
isFinite()
:判断一个数是否是有穷的
任何涉及NaN
的操作都会返回NaN
isNaN()
:不能被转为数值则返回true
,否则false
parseInt()
:第一个参数为要进行转换的值,第二个参数是转换时的基数/进制。建议始终指定基数
parseFloat()
:只解析十进制
toString()
:可以接受一个参数,转换的基数
对象
:通过执行new
操作符 + 要创建的对象类型的名称来创建(new GirlFriend()
送你不谢)
Object
类型的每个实例都具有下列属性和方法:
constructor
:保存着用于创建当前对象的函数,比如GirlFriend()
hasOwnProperty(propertyName)
:propertyName
在当前对象实例中是否存在isPrototypeOf(object)
:object
是否是当前对象的原型toLocaleString()
:返回对象的字符串表示,与执行环境的地区对应toString()
:返回对象的字符串表示valueOf()
:返回对象的字符串、数值或布尔值表示,通常与toString()
的返回值一样
注意:BOM
和DOM
中的对象是由宿主实现提供和定义的,不一定含有上述属性和方法
完。