(一)JavaScript 数据类型/typeof、类型转换、逻辑运算符

一、主流浏览器及内核

IE       ==>  trident
Chrome   ==>  webkit / blink
Firefox  ==>  Gecko
Opera    ==>  presto
Safari   ==>  webkit

二、变量命名规则

  1. 变量名必须以英文字母_$ 开头
  2. 变量名可以包括英文字母_$数字
  3. 不可以用系统的关键字、保留字作为变量名

三、值类型(数据类型)

JavaScript 的数据类型,共有六种。(ES6 又新增了第七种 Symbol 类型的值。)
数值(number)字符串(string)布尔值(boolean)undefinednull对象(object)

按内存中存储形式分为

1、不可改变的原始值(栈数据 stack)
Number、Boolean、String、undefined、null
2、引用值(堆数据 heap)
Array、Object、function、Date、RegExp……

typeof 运算符可以返回一个值的数据类型。

数值、字符串、布尔值分别返回number、string、boolean。
函数 返回 function
undefined 返回 undefined
null 返回 object
NaN 返回 number

document.write(typeof undefined); //undefined
document.write(typeof null);      //object
document.write(typeof NaN);       //number

四、运算符

1、任何数据类型 + 字符串都等于字符串
2、NaN是 JavaScript 的特殊值,表示“非数字”(Not a Number)。NaN不等于自身NaN==NaN //false
3、括号()优先级最高,=优先级最弱

五、逻辑运算符

undefinednullNaN''(空字符串)、0false 六个值 转换成布尔值都是false,其他为ture

1)与 &&
从左到右执行判断两边的表达式,如左边表达式为ture,则执行右边表达式并返回右边表达式的值

var a = 1 && 1+1
document.write(a); //2

如左边表达式为false,则直接返回左边表达式的值不再执行右边表达式进行判断

var b = 0 && document.write(111);
document.write(b); //0

2)或 ||
从左到右执行判断两边的表达式,如左边表达式为ture,则直接返回左边表达式的值不再执行右边表达式进行判断;

var a = 1 + 1 || 2 + 3;
document.write(a); //2

如左边表达式为false,则执行右边表达式

var b = 0 || '' || 2 + 3;
document.write(b); //5
var c = 0 || null;
document.write(c); //null

3)非 !
转换成布尔值取反

六、类型转换

显示类型转换

1) Number() 转换成Number类型

var str = '123';
var num = Number(str);
console.log( typeof (num)  + ' : ' + num ); // number : 123

ture 转换成Number类型 ==> 1
false 转换成Number类型 ==> 0
null 转换成Number类型 ==> 0
undefined 转换成Number类型 ==> NaN

2) parseInt() 转换成整型
3) parseFloat() 转换成浮点型
4) String() 转换成字符串
5) Boolean() 转换成布尔值
6) .toString() 转换成字符串

隐式类型转换

1) isNaN() 先把参数隐式转换成Number类型,再判断是否为NaN
2)一元运算符会把运算子转成数值。(正负)

+'abc' // NaN
-'abc' // NaN
+true // 1
-false // 0

3)加法运算符(+),当一边的值为字符串,另一个值为非字符串,则后者转为字符串。
4)除了加法运算符(+)有可能把运算子转为字符串,其他运算符都会把运算子自动转成数值。

'5' - '2'  // 3
'5' * '2'  // 10
true - 1   // 0
false - 1  // -1
'1' - 1    // 0
'5' * []    // 0
false / '5' // 0
'abc' - 1   // NaN
null + 1    // 1
undefined + 1 // NaN
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值