javascript学习笔记
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了javascript学习笔记相关的知识,希望对你有一定的参考价值。
1.script元素async和defer属性
async:异步脚本,异步下载脚本时,不会阻塞文档的解析,但是一旦下载完成,立即执行,会阻塞文档解析;(不一定按照文件顺序执行)
defer:延迟脚本,脚本会被异步下载但不会立即执行,直到文档的载入和解析完成,并可以操作,文档才会执行;(按照文件顺序执行)
2.typeof null; // "Object"
typeof 正则表达式; // "Object" (Safari5&Chrome7及以前返回function)
undefined派生自null: console.log(undefined == null); // true console.log(undefined === null); // false
3.number("") // 0; parseInt("") // NaN; number("1.1") // 1.1; number("1.1.1") // NaN
对于udefined以及不是以非0数字开头的字符串,number()、parseInt()和parseFloat()返回NaN; parseInt()可以传入进制数, parseFloat不可以; parseFloat允许一个小数点;
4.如果数组里的某一项是null或者undefined,join(),toString(),toLocalString()和valueOf()方法返回的结果中以空字符串表示;
push() // 接收任意数量的参数, 添加到数组末尾, 并返回修改后数组的长度
pop() // 从数组末尾移除最后一项,减少数组的 length 值,然后返回移除的项
shift() // 移除数组中的第一项并返回该项,将数字长度减一
unshift() // 在数组前端添加任意个项并返回新数组的长度
reverse() // 反转数组元素的顺序
sort() // 默认调用toString()方法后升序;可以接收一个比较函数,如果第一个参数应该在第二个参数前面,则返回负数;如果相等则为0;如果在第二个参数前面,则返回正数;
function compare(value1, value2){ // 升序排列---更小的数字排列在前面 return value1 - value2; }
concat() // 先创建当前数组一个副本, 然后将接收到的参数添加到这个副本的末尾, 最后返回新构建的数组
slice() // 截取数组;可以接受一或两个参数, 即要返回项的起始和结束位置
splice() // 三个参数分别是要删除的起始位置,要删除的项数,要插入的项
indexOf()和lastIndexOf() // param1 要查找的项 [param2] 查找起始位置
5.Date.parse("xx") // 返回从UTC ( Coordinated Universal Time ,国际协调时间) 1970 年 1 月 1 日午夜(零时) 开始到xx经过的毫秒数
Date.now() // 表示调用这个方法时的日期和时间的毫秒数 (等同于 +new Date())
6.正则表达式
需要转义的元字符 ( [ { \ ^ $ | ) ? * + .]}
/*-------------------------------待插入链接----------------------------*/
7.函数声明提升:解析器会率先解读函数声明,并使其在执行任何代码之前可用;而函数表达式则必须执行到它所在的代码行,才能被真正的解释执行;
arguments对象包含一个callee属性,指向拥有这个arguments对象的函数;
函数对象属性caller:包含着调用当前函数的函数的引用;
this引用的是函数据以执行的环境对象 ;
严格模式下,使用arguments.callee会导致错误;为函数的caller属性赋值同样会报错;
prototype属性不可枚举;
※每个函数都包含两个非继承而来的方法:apply()和call(); 这两个方法的用途都是在特定的作用域中调用函数,实际上等于设置函数体内 this 对象的值
apply()方法接收两个参数:第一个参数是在其中运行函数的作用域;第二个是参数数组;
call()方法不同的是接收参数的方式,第一个没有变化,其余参数必须直接传给函数(即函数所需参数必须列举出来);
bind()方法会创建一个函数的实例,其 this 值会被绑定到传给 bind() 函数的值 ;
8.Number类型方法:
toFixed():按照指定的小数位返回数值的字符串表示;ie9及以前有bug;
toExponential():返回以指数表示法表示的数值的字符串形式;
toPrecision(): 可能会返回固定大小( fixed )格式,也可能返回指数(exponential)格式; 具体规则是看哪种格式最合适 ;
String类型:
charAt():以单字符字符串的形式返回给定位置的那个字符;charCodeAt()返回那个字符的编码; (ES5中可以使用方括号加索引直接获取);
concat():拼接字符串,等同于+
slice() 、 substr() 和 substring() :/*----------------------------待插入链接------------------------*/;
index()和lastIndex()方法与数组的相同; trim():删除前置和后置的所有空格; toUpperCase()/toLowerCase 大小写转换
match()、search()、replace()、split()、localeCompare()、formCharCode()
9.Global对象 encodeURI()、encodeURIComponent(); decodeURI()、decodeURIComponent();
Math对象 Math.min() Math.max() Math.ceil()向上舍入 Math.floor()向下舍入 Math.round()四舍五入 Math.random() // [0. 1)
以上是关于javascript学习笔记的主要内容,如果未能解决你的问题,请参考以下文章
译文:18个实用的JavaScript代码片段,助你快速处理日常编程任务
[原创]java WEB学习笔记61:Struts2学习之路--通用标签 property,uri,param,set,push,if-else,itertor,sort,date,a标签等(代码片段