var声明中引号的使用
var name = '我是小明'
使用双引号也可以 但推荐使用单引号
var age = '我是小明的同学"小华"'
一般外层使用单引号 内层使用双引号
+ 号运算符的使用
var name = 'xiaoMing '
var course = 'HTML5'
alert(name + course) //xiaoMing HTML5
对字符串使用 + 号运算符的结果是使两个字符串相连;
var result = '1' + 1/2
alert(result) //10.5
字符串与数字相加会导致数字转化为字符串 然后再相连;
var now = new Date()
now = now + 30
alert(now)
先把now变成字符串 然后把30也变成字符串
使用+号运算符不能实现时间相加
布尔值 bool 或 boolan
布尔值只有两个true 和 false
var f1 = true,f2 = false
布尔值与字符串相加
alert(f2 + '3') //false3
布尔值与数字相加
alert(f2 + 3) //3
alert(true + 3) //4
布尔值与数字相加时 会转化为数字
false -> 0
true -> 1
布尔值与字符串相加时 会把布尔值转化为字符串
逻辑运算符 && || 与,或
alert(f2&&f1) //false
alert(f1 || f2) //true
&& 两边条件都为true时 结果为true (返回最后一个)
如果有一个为false 则返回结果为false
当第一个条件为false时 则不再判断后面的条件,直接返回false
|| 只要有一个条件为true 则返回 true
当两边条件为false时 则返回false (返回最后一个)
当一个条件为true时,后面的条件不在判断
注意:当数值参与逻辑或运算时,结果为true,会返回第一个为真的值,结果为false,会返回第二个为假的值
& | 位运算符
& 只有两个值为1时 才返回1 其余为0
| 只要两个值中有一个为1 则返回1 其余为0
对字符串和数字使用减号运算符
var m = '1' - 1/2
alert(m)
分析:
'1' - 1/2
1 - 0.5
0.5
JS 会尽最大努力计算出一个结果
在计算过程中会【自动】根据运算符进行类型转换(隐式转换)
字符串支持+号运算符 不支持-号运算符
常见的变量/数据类型
值有类型的 常见的变量/数据类型有:数字 字符串 布尔 日期
类型推断:根据值来推断变量的类型(强类型语言中常用这个术语,而js中比较少用)
如:C语言
int i = 1 i被推断为整数类型
i = 'c' c语言等强类型语言中不可改变变量的类型 因此在c语言中这行是错误的
js【弱类型】语言 变量的类型可以随时改变 因此无所谓变量类型了
或者说变量的类型可以在任何时候都有值类决定 变量本身不固定类型
var a = 4 赋一个数字类型的值
a = 'vv' 转化为字符串类型的值
a = true 转化为布尔类型的值