码迷,mamicode.com
首页 > 编程语言 > 详细

javascript基本概念

时间:2015-03-06 20:27:59      阅读:197      评论:0      收藏:0      [点我收藏+]

标签:

1:typeof 用来判断变量的数据类型,虽然null是Null数据类型,但返回的是object数据类型;虽然函数是object数据类型,但返回的是function类型

var x=null;typeof x;
"object"

function x(){}; typeof x;
"function"

2:undefined值派生自null值,对它们的相等性测试返回true;"=="操作符处于比较目的会转换其操作数

undefined==null
true

3:Boolean类型的字面值true和false是区分大小写的,即:True和False都不是Boolean值,是标识符

var y=true;y;
true

4:可以对任何数据类型的值调用Boolean函数,而且总会返回一个Boolean值;if语句会自动执行相应的Boolean转换

Boolean(0)
false
Boolean("")
false
Boolean(undefined)
false
Boolean(null)
false
Boolean(false)
false
Boolean(NaN)
false

5:ECMAScript5引入了严格模式的概念:通过在脚本顶部添加代码编译指示“use strict”的方式,支持严格模式的浏览器包括IE10+,Firefox4+,Safari5.1+,Opera12+和Chrome

"use strict"
function x(){x=5;}
x();
undefined

6:八进制和十六进制

var x=070,y=9;x+y
65
var x=0xA,y=9;x+y
19
var x=0xa,y=9;x+y
19

7:基于IEEE754数值的浮点计算通病,浮点数值计算会产生舍入误差

0.1+0.2
0.30000000000000004

8:NaN两特点:任何涉及NaN的操作都返回NaN;NaN和任何值都不相等,包括本身

5/0
Infinity
NaN/0
NaN
NaN==NaN
false

9:

Number("")
0
parseInt("")
NaN
Number(null)
0
parseInt(null)
NaN
Number(undefined)
NaN
parseInt(undefined)
NaN
Number( 456KK)
VM1205:2 Uncaught SyntaxError: Unexpected token ILLEGAL
Number(" 456KK")
NaN
parseInt(" 456KK")
456
parseInt(false)
NaN
parseInt(22.5)
22
parseInt(070,8)
46
parseInt(0xa)
10
parseFloat(0xa)
10
parseFloat(0xa,10)
10
parseFloat(0xa,16)
10

10:中文两个字节,返回值有问题

var x="你好";x.length
2

11:转换字符串:toString()方法,String()函数,+空字符串

var x=1;x.toString()
"1"
var x=20;x.toString(16)
"14"
var x=null;String(x)
"null"
var x=undefined;String(x)
"undefined"
undefined+""
"undefined"
1+""
"1"
null+""
"null"
true+""
"true"

12:ECMAScript操作符的与众不同在于它们能够适用于很多值,例如:字符串,数字值,布尔值,甚至对象

var x="";x++
0
var x=true;x++
1
true+false
1
true+""
"true"
true+"ccc"
"trueccc"
true+{}
"true[object Object]"
{}++
VM2136:3 Uncaught SyntaxError: Unexpected token }
var x={};x++
NaN
({})+true
"[object Object]true"

13:位操作符(无符号右移>>>,有符号右移>>,左移<<,按位异或^,按位或|,按位与&,按位非~)

var x=100;
x=~x
-101
var x=25&3
undefined
var x=25 & 3
undefined
var x=25 & 3;x
1
var x=25 | 3
undefined
var x=25 | 3;x
27
var x=25 ^ 3;x
26

14:Boolean类型转换方法:!!方法和Boolean方法

var x="";Boolean(x);
false
var x="";!!x;
false

15:逻辑与

({}) && true
true
true && ({})
Object {}
"" && true
""
null && true
null
false && ({})
false
"" && null
""

javascript基本概念

标签:

原文地址:http://www.cnblogs.com/syf/p/4319017.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!