JavaScript学习笔记

刚接触JavaScript不久,主要学习了W3C、JS秘密花园、Mozilla几个教程,在这里把学习笔记分享给大家,希望对大家有帮助。

W3C school

1.document.write只能在HTML输出中使用,如果在文档加载后使用该方法,会覆盖整个文档
2.JavaScript是脚本语言,浏览器会在读取代码时,逐行地执行脚本代码,而不是在执行前对所有代码进行编译
3.没有初始化的变量值为undefined;重新声明JavaScript变量,变量值不会消失
4.JavaScript变量可以用作不同的类型,以最后赋值的类型为准
5.JavaScript可以向已存在的对象添加属性和方法
6.不加var的变量是全局变量,全局变量在页面关闭后被删除;加了var且在方法中的变量是局部变量
7.数字和字符串相加,结果将成为字符串
8.可以用for/in语句循环遍历对象的属性
9.数组可以越界,越界之后取值为undefined,相当于false
10.通过标签引用,break语句可以用于跳出任何JavaScript代码块
11.throw可用于抛出一个异常,catch会捕捉到这个错误,并显示一段自定义的错误消息
12.with语句中任何表达式的所属对象或者是类都由with后紧跟的变量所代表
13.
改变HTML内容:document.getElementById(id).innerHTML=new HTML
改变HTML属性:document.getElementById(id).attribute=new value
改变HTML样式:document.getElementById(id).style.property=new style
14.事件:onload、onunload、onchange、onmouseover、onmouseout、onmousedown、onmouseup、onclick、onfocus……

JavaScript秘密花园

1.JavaScript中所有变量都是对象,包括数值,除了两个例外null和undefined
2.删除属性的唯一方法是使用delete操作符
3.JavaScript不包含传统的类继承模型,而是使用prototypal原型模型
4.当查找一个对象的属性时,JavaScript会向上遍历原型链,直到找到给定名称的属性为止
5.hasOwnProperty是JavaScript中唯一一个处理属性但是不查找原型链的函数
6.在使用for in loop遍历对象时,推荐总是使用hasOwnProperty方法,这将会避免原型对象扩展带来的干扰
7.JavaScript中的函数声明会在执行前被解析(函数赋值不会),因此可以在函数声明之前被调用
8.函数是JavaScript中唯一拥有自身作用域的结构,因此闭包的创建依赖于函数
9.JavaScript中每个函数内都能访问一个特别变量arguments。这个变量维护着所有传递到这个函数中的参数列表
10.===是严格等于操作符,不会进行类型转换
11.当漏写分号时,JavaScript解析器会自动插入分号,但是这有可能改变代码的行为

 

Mozilla

1.在函数内部声明全局变量后,使用该变量时,必须保证该函数已经被调用
2.JavaScript只支持函数作用域,不支持块级作用域,如for循环内部定义的变量外部也可以使用

其他

1.如果&&左侧表达式的值为真值,则返回右侧表达式的值;否则返回左侧表达式的值
2.如果||左侧表达式的值为真值,则返回左侧表达式的值;否则返回右侧表达式的值

转载请注明出处,谢谢!

原文地址:https://www.cnblogs.com/riskyer/p/3275647.html