JavaScript高级程序设计(第三版)学习笔记1~5章

第2章,在html中使用JavaScript

Html引入外部js脚本

<script type="text/javascript" src="https://www.jb51.net/test.js">两个</script>之间不应放脚本,因为并不会被执行</script>

<script>标签有一个defer属性可以延迟脚本执行,但是并不保证会按脚本排列顺序执行

建议:将脚本引入放在<body>标签的所有内容之后,而不放在<head>标签中进行引入,加快页面响应

<noscript></noscript>标签中的内容会在浏览器不支持脚本或脚本被禁用的时候输出,启用了脚本的浏览器将不会看到标签中的

内容

第3章,基本概念

标识符

第一个字符必须是字母,下划线(_)或美元符号($),有效命名为字母、数字、下划线和美元符号构成的

采用驼峰命名法:第一个字母小写,后面的每个单词首字母大写

单行注释:

//这是单行注释

多行注释:

/*这是
多行
注释
*/

typeof 操作符

typeof – 判断给定变量的数据类型

返回:

“undefined” – 未定义的数据类型

“boolean” – 布尔值

“string” – 字符串

“number” – 数值

“object” – 对象或者NULL

“function” – 函数

注:函数在js中是对象,不是数据类型,因此使用typeof区分函数和对象是有必要的

  typeof在有些时候会返回令人迷惑但技术上确是正确的值,例如,null和对象,两者都会返回“object”

  null与undefined是相等的,null == undefined 将返回true

进行算术计算时,所有的八进制和十六进制都将转换成十进制

Infinity 无穷大,有正负无穷大,可以使用isFinite()判断是否无穷大

Number.MAX_VALUE,Number.MIN_VALUE分别保存着数值类型的最大值和最小值

Number.NEGATIVE_INFINITY和Number.POSITIVE_INFINITY分别保存着负和正无穷大

NaN 非数值,可以使用isNaN判断一个变量是否非数值

数值转换

强制转换Number(),但是结果并不合理,建议使用parseInt()函数,并带入需要转换的基数

例:

parseInt(“10”,2); //以二进制解析 parseInt(“10”,8); //以八进制解析

不带入基数意味着让parseInt自己决定如何解析字符串,这会在某些时候造成错误

parseFloat()与parseInt()基本相同,将字符串解析成浮点数,始终忽略前导零,只解析十进制值,十六进制将被解析成0,因此

他没有第二个参数

字符串类型

字符串类型变量是不可变,亦即字符串变量是为一个常量,可以使用单引号('),也可以使用双引号(”)定义字符串变量,但必须匹配,如果需要混用,建议加上转义字符(\)

使用toString()函数将一个值转换为字符串,数值则可以使用基数值进行转换

例:

var num = 10; num.toString(“2”); //”1010” num.toString(“8”); //”12”

也可以使用String()进行强制转换

Object类型

constructor:构造函数

hasOwnProperty(propertyName):检查给定的属性在当前对象中是否存在

isPrototypeOf(object):检查传入的对象是否是传入对象的原型

propertyIsEnumerable(propertyName):检查给定的属性是否能够使用for-in语句来枚举,与hasOwnProperty一样,给定的属性名必须以字符串的形式指定

toLocalString():返回对象的字符串表示,与执行环境的地区对应

toString():返回对象的字符串表示

valueOf():返回对象的字符串、数值或布尔值表示。通常与toString返回相同

操作符

按位非:~,按位与:&,按位或:|,按位异或:^,左移:<<,有符号右移:>>(以符号位填充),无符号右移:>>>(以零填充),逻辑非:!,逻辑与:&&,逻辑或:||

关系操作符:<,>,<=,>=

相等和不相等:==,!=,先转换再比较

全等和不全等:===,!==,只比较,不转换,类型不同则不同

条件操作符:? :,三目运算符

逗号操作符:(,),返回最后一个表达式的值:var num = (3,5,6,2),num = 2

语句

if{},do{}while();,while(){},for(;;){}

for-in语句:

精准的迭代语句,可以用来枚举对象的属性

for(property in expression) statement

例:

for(var propName in window){ document.write(propName); }

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/wgyfdp.html