JavaScript高级程序设计(第三版)学习笔记
Posted TiffanyHYY
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了JavaScript高级程序设计(第三版)学习笔记相关的知识,希望对你有一定的参考价值。
第三章 基本概念
1、严格模式:对ES3中不确定的行为作出处理,对某些不安全的操作抛出错误。要在整个脚本中启用严格模式,可以在顶部加上"use strict";要在函数中启用严格模式,可以在函数顶部加上"use strict"。
2、定义变量:有var=>局部变量;省略var=>全局变量。在严格模式下不能定义名为eval或arguments的变量,否则会导致语法错误。
3、typeof操作符的返回值有6个:undefined、boolean、string、number、object、function。
4、检测数组不能用typeof(返回object),三种方式:
- ary instance of Array
- 原型链
- Object.prototype.toString.call(ary)
5、undefined(值:undefined),未初始化的变量值为undefined; null(值:null)。
6、对于未声明的变量只能执行唯一操作 typeof,且返回值为 undefined;对未初始化的变量执行 typeof 操作返回值同样为 undefined。
7、Number类型:用IEEE754格式表示。
- Infinity: 无穷,超出JS数值范围。
- NaN (Not a Number):(1) 任何数值除以非数值返回NaN; (2) NaN==NaN => false; (3)isNaN(a) => true: a 不是数值(会先尝试将a转换成数值)。
8、Number()
- Boolean => 0(false) 或 1(true)
- 数值=>数值
- null=>null
- undefined=>NaN
- string: (1)只包含数字(包含+ -号),转为十进制(忽略前导零);(2)有效的浮点格式(只有一个小数点),转为浮点值(忽略前导零);(3)有效的十六进制格式,转为十进制;(4)空串,转为0;(5)除此以外,转为NaN
- object: 先调用valueOf()方法,然后依照上式规则转换,若结果为NaN,则调用对象的toString()方法,再按照上述规则进行转换。
9、parseInt():string=>整数
- 找到第一个非空格字符串
- 如果第一字符不是数字或者‘-‘=>NaN
- 如果第一个字符是数字字符或者‘-‘, 继续解析,知道遇到第一个非数字字符。
- parseInt("")=>NaN
- 第二个参数表示转换的基数
10、parseFloat()与parseInt()类似,第一个小数点有效,其他均无效。
11、 String类型
- 字符串一旦被创建,他们的值就不能改变(先销毁再填充)
- 转换字符串的三种方式:(1) a.toString(); (2) String(a); (3) a+""
- toString(): (1) 参数:传递基数;(2)undefined和null没有toString()方法
- String(): (1) 如果参数有toString()方法,则调用该方法(无参数)并返回相应的结果;(2)如果参数是null=>null; (3) 如果参数是undefined=>undefined
12、Object的每个实例都具有下列属性和方法
- constructor:保存着用于创建当前对象的函数。
- hasOwnProperty(propertyName): 用于检测给定的属性在当前对象实例中(不是实例的原型中)是否存在,其中propertyName必须是字符串。
- isPrototypeOf(object): 用于检查传入的对象是否是当前对象的原型。
- properIsEnumerable(propertyName): 用于检查给定的属性是否能够使用for-in语句来枚举,其中propertyName必须是字符串。
- toLocalString(): 返回对象与执行环境有关的字符串表示。
- toString(): 返回对象的字符串表示。
- valueOf(): 返回对象的字符串、数值或布尔值表示(通常与toString()方法的返回值相同)。
以上是关于JavaScript高级程序设计(第三版)学习笔记的主要内容,如果未能解决你的问题,请参考以下文章
JavaScript高级程序设计(第三版)学习笔记202123章
JavaScript高级程序设计(第三版)学习笔记8910章