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学习笔记的主要内容,如果未能解决你的问题,请参考以下文章

ReactJs学习笔记01

Javascript MVC 学习笔记 视图和模板

译文:18个实用的JavaScript代码片段,助你快速处理日常编程任务

[原创]java WEB学习笔记61:Struts2学习之路--通用标签 property,uri,param,set,push,if-else,itertor,sort,date,a标签等(代码片段

如鹏网学习笔记JavaScript

Javascript学习笔记:闭包题解