JavaScript学习总结(一) ECMAScript、BOM、DOM(核心、浏(3)

结果:

关于 null 和 undefined 有一些有趣的特性:

如果对值为 null 的变量使用 typeof 操作符的话,得到的结果是 object ;

而对 undefined 的值使用 typeof,得到的结果是 undefined 。

如 typeof null === "object" //true; typeof undefined === "undefined" //true null == undefined //true,但是 null !== undefined //true

示例:

<!DOCTYPE html>
<html>

 <head>
 <meta charset="UTF-8">
 <title></title>
 </head>

 <body>
 <script>
 //js对象
 var user = {
 name: "张学友",
 address: "中国香港"
 };
 console.log(typeof(user));
 console.log(typeof(null));
 console.log(typeof(undefined));
 console.log(user.name);
 console.log(user.age);
 
 if(user.age){
 console.log(user.age);
 }else{
 console.log("没有age属性");
 }
 //为false的情况
 var i;
 console.log(!!"");
 console.log(!!0);
 console.log(!!+0);
 console.log(!!-0);
 console.log(!!NaN);
 console.log(!!null);
 console.log(!!undefined);
 console.log(typeof(i));
 console.log(!!i);
 console.log(false);
 //是否不为数字,is Not a Number
 console.log(isNaN("Five"));
 console.log(isNaN("5"));
 </script>
 </body>

</html>

结果:

7)、 boolean类型的特殊性

8)、== 与 ===

JavaScript 中有两个判断值是否相等的操作符,== 与 === 。两者相比,== 会做一定的类型转换;而 === 不做类型转换,所接受的相等条件更加严格。

===比较时会比较类型

当然与之对应的就是!=与!==

尽量使用===而不要使用==

console.log("5"==5); //true
console.log("5"===5); //false
console.log("5"!=5); //false
console.log("5"!==5); //true

2.3、局部变量和全局变量

在函数中声明的变量只能在函数中使用,当你退出函数时,变量就会被释放,这种变量被称为局部变量。因为每个局部变量只在各自的函数中有效,所以你可以在不同的函数中使用名称相同的变量。

如果在函数之外声明变量,那么页面中所有的函数都可以使用它。在全局变量被声明后,它们就开始生效了。在网页被关闭后,变量才会失效。

注意:JS语言中,在代码块中声明的变量属于全局变量。

JavaScript是一种对数据类型变量要求不太严格的语言,所以不必声明每一个变量的类型,变量声明尽管不是必须的,但在使用变量之前先进行声明是一种好的习惯。可以使用 var 语句来进行变量声明。如:var men = true; // men 中存储的值为 Boolean 类型。