写代码时结构要规范:
1. = 两边加空格
2. 重要的代码部分写上注释说明
js由ECMAScript、DOM、BOM组成
js的三种写法:行内式(不常用)、内嵌式、外链式
null的类型是null,但用typeof检测数据类型时会显示object,需要使用Object.prototype.toString.call(null)检测数据类型
console.log(typeof null);
console.log(Object.prototype.toString.call(null));
变量命名规则:
1. 符号只能用 _ 和 $,数字不能开头
2. 使用驼峰命名法
3. 最好用英文,能看懂的
js数据类型:
Number,String,Boolean,undefined,null,object
数据类型转换:
1. 转换成数值
Number() undefined转换成NaN null,空字符串,空白字符串结果是0
parseInt() 取整;截取字符串前面的数字,如果没有数值,会转换成NaN
parseFloat() 取小数;同上
2. 转换成字符串
变量.toString() 不能转换null、undefined,需要用String()
String()
要转换的数据 + '' 当 + 有一边是String类型,另一边是其他数据类型时,会拼接成一个字符串
3. 转换成布尔类型
Boolean(bo)
false:0,null,undefined,''(空字符),NaN
true:除了上面的都是
typeof !!bo (开发中常用的转换方式)
js运算符
+ 可以拼接字符串 , 其他运算符会隐式转 把非Number型换成Number型
== 在对比数据时,如果两侧数据类型不同,会进行隐式转换
var b = a++ 先赋值再自增
var b = ++a 先自增再赋值
&&:前一个为真,返回后一个,否则返回前一个
||:前一个为真,返回第一个,否则返回后一个
&&优先级高于||
分支语句
switch...case的穿透效果
当case后没有break时,会从第一个满足条件的情况一直往下执行,直到有break才会停下.
switch case 在做对比时,会使用严格的全等 ===
三元表达式技巧: 条件 ? 执行代码 : '';