1 变量
1.1 命名规则
驼峰命名法:首单词首字母小写,其他单词首字母大写。
遵从规则:
1.变量以字母或"_"或者"$"为开头。
2.变量名长度不能超过255个字符
3.变量名不允许使用空格,首字不能为数字。
4.关键字,保留符号禁用。
5.注意区分大小写。
1.2 变量定义和赋值
//第一种 var age = 18; //第二种 var age; age = 18;
2 数据类型
2.1 数据类型划分
2.1.1 简单数据类型
1.string
2.number
3.boolean
4.undefined
5.null
2.1.2 复杂数据类型
function,object,array,date等等类型
2.1.3 查看简单数据类型的类型(typeof)
typeof name 或 typeof(name)
2.1.4 字面量
var height = 18;//18为字面量
2.2 简单数据类型介绍
2.2.1 number
1.整数
2.浮点数
浮点数计算会出现精度丢失问题,所以无法判断计算后的两个浮点数的值。
var num1 = 0.1; var num2 = 0.2; var total = num1 + num2; console.log(total);//它们的结果为0.3吗?
3.NaN(非数字)
console.log("str"/18);//打印结果是一个NaN
underfind与任何值计算都为NaN。
NaN和任何值都不相等,包括它自己。
4.isNaN()
判断一个值是否为NaN,它返回布尔值,是NaN返回true,不是返回false。
console.log(isNaN(NaN));//返回true console.log(isNaN("hello"));//返回true console.log(isNaN(123));//返回false
2.2.2 String
1.定义一个string,可以用单引号包裹字面量,也可以用双引号,但不可一单一双。
2.可以用”.length“查看有几个字符。
var str = "mystr"; console.log(str.length);//结果为5
3.二次赋值会在内存中销毁之前的字面量,不占内存。
4.如果字符串与其他值相加,会得到一个拼接后的字符串。
var str = "123"; var bool = true; console.log(str+bool);//结果为123true
2.2.3 boolean
1.布尔有2个值,分别是true和false,区分大小写。
2.if判断会把()里面的值转换为布尔类型进行判断。
3.任何数据类型都可以转换为布尔类型。
2.2.4 undefined和null
1.任何数据类型和undefined计算都为NaN。
2.任何值和null运算时,null可以看做是0。
3 数据类型转换
3.1 任何简单类型转换为string(三种方法)
3.1.1 变量+空字符串
3.1.2 String(变量)
3.1.3 变量.toString()
注意:undefined和null没有toString方法。
3.2 简单类型转换为number
3.2.1 变量-*/一个数字(有非数字字符会出现NaN)
3.2.2 Number(变量)(有非数字字符会出现NaN)
3.2.3 parseInt()和parseFloat()(取整数和取浮点数)
空字符串parseInt()和parseFloat()返回NaN,number()返回0。
parseInt(变量):如果变量中首字符为非数字则返回NaN,否则返回首个非数字前的整数
parseFloat(变量):如果变量中首字符为非数字则返回NaN,否则返回首个非数字前的浮点数
var int_a = "a123"; var int_b = "123b"; console.log(int_a);//结果为NaN console.log(int_b);//结果为123 var f_a = "a123.123";//结果为NaN var f_b = "123.123b";//结果为123.123
undefined为NaN,null为0,true为1,false为0。
3.3 任何简单类型转换为Boolean
任何数据类型都可以转换为布尔值
3.3.1 Boolean(变量)
4 运算符
4.1 种类和优先级
1 ()
2 - ++ -- !
3 * / %
4 + -
5 < <= > >=
6 == != === !==
7 &&
8 ||
9 ?:(三步运算)
10 = += -= *= /= %=
4.2 && 和 ||
4.2.1 &&有2个布尔判断,一个为false结果返回false
4.2.2 ||有2个布尔判断,一个为true结果返回true
||可以用在做兼容判断,当第一个为true时候,返回第一个值,否则往下查找为true的值。
var scroll_top = window.pageYoffset || document.body.scrollTop || document.documentElement.scrollTop;