JavaScript学习总结
1.JavaScript是作用于网络和HTML的一个编程语言。
2.JavaScript代码必须放在<script></script>标签之间,Javascript现在是HTML默认的脚本语言,所以在<script>标签中不需要声明脚本语言为JavaScript,即不需要type="text/javascript"。
3.可以添加任意数量的脚本在HTML document中,JavaScript可以放在<head>或<body>区域,也可以两处都放,把JavaScript放在body区域的底部可以提高网页加载的速度。
4.JavaScript可以放在一个单独的js文件中,需要使用的时候在页面引入即可。外部js代码不可以包含<script>标签。
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中的闭包就是函数在父函数已经关闭了之后,依然可以访问父作用域,。

最新文章

  1. Javaweb学习笔记——使用Jdom解析xml
  2. Android Intent的几种用法全面总结
  3. Linux:永久修改网卡的MAC地址
  4. GridView CheckBox 全选
  5. Unity3D ShaderLab 使用渐变纹理着色
  6. python join与split函数的用法举例
  7. 在DataTable和DataView中查找指定记录
  8. PHP浮点数引起的四舍五入问题
  9. 转:Oracle弃用sun.reflect.Reflection.getCallerClass
  10. spring计划任务
  11. 【原创】大叔经验分享(46)用户提交任务到yarn报错
  12. delphi fastreport 动态加载图片
  13. ubuntu使用遇到的问题
  14. hiho1460 rmq模板题
  15. 【js】字符串反转可实现的几种方式
  16. luogu P2657 [SCOI2009]windy数 数位dp 记忆化搜索
  17. MySQL查询表的所有列名,用逗号拼接
  18. python+selenium—webdriver入门(一)
  19. redis下载安装
  20. HDU1042 N!(大数问题,万进制)

热门文章

  1. Linux内存布局
  2. jQuery插入节点(移动节点)
  3. Java 导出Excel的各种尝试
  4. VS2013使用WebDeploy发布网站到IIS服务器
  5. PLSQL语法深入浅出
  6. C#文本框允许使用ctrl+A
  7. Applovin Interview (面经)
  8. 支付宝App支付~关于它的一些坑
  9. css控制图片与文字对齐
  10. SpringMvc拦截器小测试