JavaScript知识点总结

1. JavaScript是作用于网络和HTML的一个编程语言。

2. JavaScript代码必须放在标签之间,Javascript现在是HTML默认的脚本语言,所以在标签中不需要声明脚本语言为JavaScript,即不需要type="text/javascript"。

3. 可以添加任意数量的脚本在HTML document中,JavaScript可以放在或区域,也可以两处都放,把JavaScript放在body区域的底部可以提高网页加载的速度。

4. JavaScript可以放在一个单独的js文件中,需要使用的时候在页面引入即可。外部js代码不可以包含标签。

5. JavaScript没有任何内置的打印和显示函数,输出信息有四种方式:a)window.alert()把信息写到弹出框。b)document.write()把信息写到HTML输出,注意在HTML document完全加载完之后执行document.write()将会删除页面所有的HTML元素。c)innerHTML把信息写到一个HTML元素中。d)console.log()把信息输出到浏览器控制台。

6. JavaScript语法定义两种类型的值:固定值又称字面量,数字用十进制表示或不用十进制表示,字符串是一个文本,写在双引号或单引号内。如'lcw',4,变量值又称变量,用来存储数值,JavaScript使用”var“关键字声明变量,使用一个”=“,为其赋值。如var x; x = 6。

7. JavaScript使用数学运算符 + - * / 计算数值。

8. JavaScript在//后和在/**/中的内容是注释内容,在代码执行时会被忽略,建议优先使用//注释,/**/可以写一些正式的说明文档。

9. JavaScript标识符用来命名变量,变量名的第一个字符必须为字母、下划线或美元符号($),其他字符可以是字母、数字、下划线、美元符号,数字不允许作为变量名的第一个字符,这样JavaScript就可以轻易的把数字和标识符区分开,在JavaScript中表示符大小写是会判断的,如lastName和LastName是不同的变量,VAr也不会被解释为关键字var,”-“号不能作为标识符中的字符,其在JavaScript中作为减号使用。

10. 在每句代码最后分号并不是一定要有的,但强烈建议加上。为了增加可读性可以在代码中加上一些空格,如赋值语句中在等号前后加上个加上一个空格,代码会看起来更美观,一般建议在"+","-","*","/","="这些字符两侧都加上空格。

11. 在实际编写代码中,若一行占位过于长,可以在等号处换行。

12. 建议在代码的开头声明所有的变量。

13. 在JavaScript中,如果声明一个变量,没有为其赋值,其默认值是:undefined。

14. +用在字符串运算中,相当于连接符。

15. 在运算时,注意运算符有优先级。

16. 当把一个数字和字符串相加时,数字将会被作为字符串处理。

17. JavaScript具有动态类型特性,当声明一个变量,为其赋值,其类型就为该值的类型,若为其赋另一种类型的值,则改变量的类型也将会随之改变。

18. 在定义字符串时,单引号和双引号可互相嵌套,注意引号配对问题。

19. JavaScript中的数组下标从0开始,在JavaScript中数组也是对象,没有赋值的变量typeof返回值是undefined,注意var v = "",v的typeof返回值是string,其值是"",注意null的typeof的返回值是object。

20. 定义函数名的规则和定义标识符的规则相同,在函数内部。

21. return会结束代码的执行。

22. JavaScript中的对象是属性和方法的容器。

23. 定义一个对象,访问该属性有两种方法:1.对象名.属性名,2.对象名["属性名"]。调用一个方法对象名.方法名(),如果写成对象名.方法名,将返回函数的定义。

24. 尽量不要用new关键字声明一个变量,这样会使代码复杂化,并会减慢执行速度。

25. 在函数内部定义的变量是局部变量,只能在函数内部访问,即变量的作用域,调用函数时传入的参数作为函数内的局部变量处理,不同函数内的变量名字可以相同。

26. 函数内的局部变量在函数开始执行时创建在函数结束时删除。

27. 定义在函数外部的变量就是全局变量,全局变量可以在任何地方访问。

28. 若赋值给一个没有声明的变量,该变量将自动变为全局变量,尽量不要定义全局变量。

29. 全局变量或函数可以覆盖window变量和函数,反之亦然。

30. JavaScript中的变量的生命周期中被声明时开始,本地变量在函数执行完之后被删除,全局变量在用户关闭网页时被删除,在HTML中所有的全局变量属于window对象。

31. \可以把以一些具有特殊含义的字符转为字符 如var a = "qwer\"qw\"er";

32. JavaScript把一些原始类型的数据像字符串看作对象,它们也有属性和方法。

33. JavaScript中数字的存储是双精度浮点类型,占用64位大小,0-51是数值,52-62表示指数,63位表示正负。当表示整数时,超过15位就不准确了,不要把0作为数字的第一位。

34. 默认JavaScript显示数字是10进制。可以通过toString(8)转成8进制,或其他进制。

35. Infinity/-Infinity,整数除0即得Infinity,负数除0即得-Infinity,Infinity的类型是number。

36. NaN即Not a Number,100/"apple"的结果就是NaN,100/"10"的结果就是10。

37. JavaScript中注释建议使用//,/**/在正式说明时使用。

38. 在实际编程中最好在变量作用域最开始的地方声明所有变量。

39. JavaScript中String是构造函数,string是数据类型。

40. JavaScript中函数名代表函数定义,函数名()则代表函数执行。

41. JavaScript中当设置一个时间时,如果没有设置时区,js将会使用浏览器的时区,当获取一个时间时,如果没有设置时区,结果将会转化为浏览器时区时间。

42. 注意定义数组时,数组的最后一个元素的最后不要再加上",",JavaScript中数组的下标索引从0开始。

43. 定义数组时若索引是被命名的,JavaScript将会重新定义数组为一个标准的对象,这样数组的一些属性和方法将会返回错误的结果。如:var person = []; person["firstone"] = "lcw"; preson.length,person[0]返回的结果和预期将会不相符合。

44. Javascript中数组使用数字下标索引,对象使用命名索引。Arrays是使用数字下标索引的特殊对象。

45. 所有的JavaScript对象都有valueOf()和toString()方法。

46. 在JavaScript中所有的原始类型的值在执行获取属性和执行方法时,JavaScript会把他们看成对象。

47. 注意Javascript中"==="和"=="的区别,及"!="和"!=="的区别。

48. JavaScript中数字在运算时会被转化为32位表示。

49. JavaScript中的switch语句中如果default不是最后一个情景,以"break;"结束。

50. JavaScript中的变量可以被转化为另一个新变量和另一种数据类型,JavaScript自身会转换变量类型,也可以使用JavaScript提供的函数转换。

51. JavaScript会自动调用变量的toString()方法,当我们试图输出变量或对象时。

52. 在JavaScript中try和catch总是成对出现,当错误产生时JavaScript将会正常停止,生成一个错误信息。

53. JavaScript中的throw关键字,可以throw new Error(""); 或 throw "error"。

54. JavaScript中有托举现象,就是JavaScript会把所有的声明移到变量所在作用域的最前面,这样在代码中就可以使用在代码执行时还没有声明的变量,但是如果变量在声明时已经被初始化赋值,则不会被“托举”,托举的只是变量声明,并不包括变量赋值。

55. JavaScript中用'use strict'声明使用严格模式解释执行代码,严格模式的声明也会有作用域的问题,即严格模式作用的范围,另外这种声明只在代码的开始或函数的开始。

56. 声明变量时最好对其进行初始化操作,这样可以避免出现undefined值。

57. 尽量不要用new关键字声明对象,直接回变量赋值即可。

58. 最好在函数内部对每一个参数做初始化赋值。

59. 声明switch语句时最好在最后加上default。

60. 尽量避免使用eval();

61. 在开发中要注意js的加载会延缓页面加载,如果需要从远程服务器下载js文件,根据HTTP定义不能并行下载多个组件。

62. JavaScript中的数据类型,1.简单数据类型:undefined , null , boolean, number,string;2.复杂数据类型:object;

63. JavaScript中typeof返回的值类型:undefined , null , boolean, number,string,object,function。

64. 在JavaScript中对象是国王,如果我们能理解对象,我们就理解了JavaScript。

65. 一个JavaScript对象是一个命名的值集合,从性能等其他地方考虑,最好使用字面量声明对象。

66. 每个JavaScript对象都有一个原型,原型也是一个对象,所有的JavaScript对象都会从原型继承方法和属性。

67. 函数的声明会被“托举”,所以可以在函数声明之前调用执行。

68. JavaScript中函数定义不指定参数的数据类型,JavaScript不会对传来的参数做数据类型检查,JavaScript不会检查传入参数的数量,所以当调用一个函数时,传给其的参数若和函数声明时参数的数量不相等,将不会产生影响,若传入的参数多于函数声明时传入的数量,则可以使用arguments对象获取值。

69. "this"关键字在项目执行时就是指拥有当前这段代码的对象,当在函数中用时,就是指拥有这段方法的对象。

70. 变量创建没有"var"关键字,该变量将会是全局变量,即使变量是在函数里定义。

71. 在JavaScript中所有的函数都可以访问它本身属于那个作用域。

72.JavaScript中的闭包就是函数在父函数已经关闭了之后,依然可以访问父作用域。

你可能感兴趣的:(JavaScript知识点总结)