初识JavaScript01

本文总阅读量:
  1. 1. js作用域
  2. 2. switch
  3. 3. js类型转换

js作用域

1
2
3
4
5
6
7
8
9
10
11
12
<script>
for (var i = 0; i < 10; i++) {

} //js没有块级作用域
alert(i); //10

function f1(parameters) {
var n = 1;
}
//因为页面一开始加载并不会执行f1方法
//alert(n); undefined
</script>

默认如果直接在script标签中定义变量,则属于“全局作用域范围”(全局执行环境),即属于window对象。
1 . 全局作用域范围的变量直到网页关闭或浏览器关闭时才释放资源
2 . 一个页面中的多个script标签中的变量可以互相访问。
3 . JS有垃圾回收机制,会定时对可释放资源的变量回收。将变量设置为null则表示可以被回收了。

1
2
3
4
5
6
7
8
9
<script>
function name(parameters) {
var i = 0;
i++;
alert(i);
}
//方法无返回值,会返回undefined
alert(name());
</script>
1
2
3
4
5
6
7
<script>
var i = 1;
</script>
<script>
//全局作用域范围的变量直到网页关闭或浏览器关闭时才释放资源
alert(i);//1
</script>

方法内部不使用var定义的变量相当于全局变量

1
2
3
4
5
6
7
8
9
10
11
<script>
function f1(parameters) {
i = 100;
//var i = 100;
}
</script>
<script>
f1();
alert(i);//100
//alert(i);使用未定义
</script>

switch

js中switch中的判断是严格判断就是全等于(===)

1
2
3
4
5
6
7
8
9
10
11
12
<script>
var i = 90;
switch (i) {
case 90:
alert("number");
break;
case "90":
alert("string");
break;
default:
}
</script>

js类型转换

注意点:
1 Number()将任意值转换成数字 如果该字符串不能完全转换为整型,则返回NaN
2 String()转换不成功返回undefined, toString()报错
3 Boolean()转换当为0或为空(值为空或者null)时返回false,其余返回true

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
<script>
alert(parseInt("90")); //90
alert(parseInt("90aaaaaaaaaa")); //90
alert(parseInt("aaaaaa")); //NaN
alert(parseInt(111, 2)); //代表给定一个二进制的数111输出十进制
alert(parseFloat(10.111)); //10.111
alert(Number("40addd")); //将任意值转换成数字 如果该字符串不能完全转换为整型,则返回NaN
//alert(isNaN("aaa")); //true
var str;
alert(String(str)); //undefined
alert(str.toString()); //报错

//boolean
var b1 = Boolean(""); //false - 空字符串
var b2 = Boolean("hello"); //true - 非空字符串
var b1 = Boolean(50); //true - 非零数字
var b1 = Boolean(null); //false – null
var b1 = Boolean(0); //false - 零
var b1 = Boolean(new object()); //true - 对象
</script>