日期:2014-05-16  浏览次数:20412 次

JS 基础知识点总结

参考 《JavaScript 高级程序设计(第3版)》

<script>

1、<script> 标签加载外部 JS :

    1)defer="defer" :延迟脚本,脚本立即下载,但延迟执行,按顺序执行。

    2)async="async" :异步脚本,脚本立即下载,但延迟执行,顺序不定。

注:实现 JS 异步的另一个方法是动态创建 <script>


文档模式

2、文档模式:混杂模式和标准模式。(主要是影响 CSS,但会对部分 JS 有影响)

    1)混杂模式:令 IE 的行为与 IE5 相同,以此来解析渲染页面。

    2)标准模式:让 IE 的行为更接近标准行为。


3、严格模式:在脚本顶部添加 "use strict";  用于处理 ECMAScript 3 中一些不确定的行为,并对某些不安全的操作抛出错误。

注:ECMAScript 5 引入的,支持 IE10+、Firefox 4+、Safari 5.1+、Opera 12+、Chrome


基本数据类型

4、5 种基本数据类型:Undefined、Null、Boolean、Number、String

注:另外是 1 种复杂数据类型:Object


5、typeof 操作符:返回:"undefined"、"boolean"、"string"、"number"、"object"(对象或null)、"function"(函数)


6、Undefined 类型:只有一个值,即是 undefined。当使用 var 声明却未初始化时,赋值 undefined


7、Null 类型:只有一个值,即是 null。表示空对象指针。typeof 返回 object。

注:null == undefined; // true


8、Boolean 类型:两个值,即是 true 和 false。

    1)Boolean() 方法:参数是需要转换的值,转换为 Boolean 类型,undefined 只能转换为 false


9、Number 类型:最大值 Number.MAX_VALUE ,最小值 Number.MIN_VALUE

    1)Number() 方法:参数是需要转换的值,true 转为 1;false 转为 0;null 转为 0;undefined 转为 NaN;空串转为 0;字符串只能包含数字才能转换;其他转为 NaN。

    2)parseInt() 方法:参数是需要转化的值和基数,与 Number 方法不同的是,只要字符串是以数字或负号开头的都能转换;空串转为 NaN。

                                         使用时通常会指定基数,如十进制:parseInt("2356" , 10);

    3)parseFloat() 方法:参数是需要转化的值,转为浮点数。

    4)toFixed() 方法:点调用,参数是小数位,四舍五入,并保留指定小数位。

注:0.1 + 0.2 == 0.3; // false


10、NaN:非数值。用 isNaN() 方法判断能否转换为数值。

注:涉及 NaN 的操作都会返回 NaN;NaN 与任何值都不等,包括自身。


String 类型

11、String 类型:

    1)toString() 方法:点调用,无参数,null 和 undefined 没有 toString 方法,不可调用,否则会出错。

    2)String() 方法:参数是需要转化的值,如果有 toString 方法则调用,若没有则 null 会返回 "null",undefined 会返回 “undefined”

    3)length 属性:返回字符串包含的字符个数。

    4)charAt() 方法:点调用,参数是下标,返回指定位置的字符。

    5)slice() 方法:点调用,参数是起始位和终止位,返回子串,不包含终止位的字符。终止位可以不指定。参数为负数时,与长度相加。

    6)substring() 方法:点调用,参数是起始位和终止位,返回子串,不包含终止位的字符。终止位可以不指定。参数为负数时,变成0。

    7)substr() 方法:点调用,参数是起始位和字串位数,返回子串。终止位可以不指定。参数为负数时,第一个与长度相加,第二个变成0。

    8)indexOf() 方法:点调用,参数是子串,返回子串的位置。

    9)lastIndexOf() 方法:点调用,参数是子串,从末尾搜索,返回子串的位置。

    10)trim() 方法:点调用,无参数,删除前后空格符,返回删除后的字符串,不修改原来的字符串。

    11)toLowerCase() 方法和 toUpperCase() 方法:点调用,无参数,转换大小写,返回转换后的字符串,不修改原来的字符串。

    12)match() 方法:点调用,参数是正则表达式,返回一个数组。格式是:字符串.match(正则式);

    13)exec() 方法:点调用,参数是字符串,返回一个数组。格式是:正则式.exec(字符串);

    14)match VS exec :在全局模式下,match 返回的数组可能有多项,但 exec 返回的数组都只有一项;

                                            在全局模式下,lastIndex 在每次调用 exec 后都会增加,而match 始终为0。

    15)search() 方法:点调用,参数是正则表达式,返回第一个匹配项的索引。格式是:字符串.search(正则式);

    16)replace() 方法:点调用,参数有两个,第一个是希望被替换的子串或正则表达式,第二个是替换的子串或函数。

                                         如果第一个是字符串,则只替换第一个匹配的子串;如果是正则表达式,则会替换所有匹配的子串。