1.JS中不强制要求加分号,其会在编译时自动补上分号,加分号规则如下
a.当有换行符,且下一行无法和前面进行语法匹配时.
b.当有}时.
c.当程序代码结束时.
2.getElementById方法只能用于document对象,而且实一种静态方法
getElementsByTagName不仅限于document对象,切返回的是一个类似数组的集合,是一种动态方法,也就是说如果后面解析的代码对此操作有影响的话,此影响有效
3.当需要重复进行某一操作,且这一操作中某个量规律性变化,则可以 使用循环来简化
循环中某个操作耗费时间较多时,会对页面性能造成影响,将这个操作放在循环之外是一种好的选择
4.良好的代码习惯可以提高工作效率,例如,变量为对象时,以o开头,变量为数组时,以a开头
5.cssText类似与innerHTML,会将行内样式重置为目标样式,但不会改变<style><style/>中的样式,使用方法例子如下
object.style.cssText='200px;height:200px;';
6.inline元素不能设置宽高,如有需要,可将其转化为inline-block
7.JS中有五种基本类性值:Undefined Null Boolean Number String
一种复杂类型值:Object
JS不支持自定义数据类型
Object本质是由一组无序的名值对组成的,任何非空的Object类型都可以增加属性和方法,这里的空指的是设定为Object类型,但没有保存具体的对象,例如,Null不可以,但 a={}就可以
Null表示这里本来要放置一个复杂数据类型值,但还没有具体值
Null表示一个空的对象指针
8.Number()将括号中的值转换为数字,不能识别含数字的字符串,不能转换时返回NaN
parseInt()只能用来转换字符串,可以按照字符串字符的先后顺序一位一位解析,直到出现非数字,如小数点,返回解析的整字
parseFloat()和parseInt()相似,但可以识别第一个小数点,可以返回小数
9.隐式类型转换
+ 有字符串则实质为字符串拼接
—,*,/,% 变为数字
>< 如果比较的是字符串,则是从第一位开始,一位一位进行比较,直到出现确定的大小关系
! 取反会自动将右边的值当作布尔值来处理
10.typeof(NaN) //Number,这是一个数字类型的非数字
11.像isNaN(),parseInt()这样必须有括号的,都是方法
像typeof可以用括号,也可以不用,所以不是函数,而是操作符
12.isNaN()判断括号中的值是否为数字,不是则返回true,是则返回false,其内部会用Number()进行转换