第二篇笔记的内容主要涉及:数据类型转换,函数、对象、数组的建立以及null与undefined的比较。 javascript
1. javascript中类型转换的方法: java
(1)数字-->字符串: 数组
- number+" ";
- String(number);
- number.toString(n); //n为2表明转为二进制,n为8表明转为八进制,默认是十进制
- number.toFixed(n); //将数字转换为字符串且显示小数点后n位
- number.toExponential(n); //使用指数表示法把数字转换为字符串,小数点前1位,小数点后n位
- number.toPrecision(n); //使用指定的有意义的n位来显示一个数字
(2)字符串-->数字: ide
- str-0;
- Number(str);
- parseInt(str); //没法转换时返回NaN
- parseFloat(str); //没法转换时返回NaN
(3)其余类型-->布尔型: 函数
- Boolean(x);
- var x_as_boolean = !!x; //由于!运算符会先把它的运算数转换为一个布尔类型的值,而后再计算求非
2. javascript中的函数定义: spa
在许多语言中,函数都只是语言的语法特性,能够被定义、调用,却不是数据类型。而javascript中的函数是真正的数值,能够被存储在变量、数组和对象中,还可做为参数传递给其余函数。当一个函数赋给某个对象的属性时,它常被看成那个对象的方法来引用。 .net
3. javascript中函数的建立方法: 对象
- 常规作法:function square(x) { return x*x; }
- 函数直接量(lambda函数):
- var square = function(x) { return x*x; }; //匿名函数
- var f = function fact(x) { if(x<=1) return 1; else return x*fact(x-1);}; //指定函数名,用于递归
- f[0] = function(x) { return x*x; }; //定义并存储函数到一个数组中
- a.sort(function(a,b) { return a-b; }); //定义函数并将其做为参数传给另外一个函数
- var tensquared = (function(x) { return x*x; })(10); //定义并调用函数
- 用构造函数定义:var square = new Function("x", "return x*x");
4. javascript中对象的建立方法: blog
- 用构造函数定义:var o = new Object();
- 对象直接量:
- var point = {x:2.3, y:-1.2};
- var empty = {};
- var rectangle = { upperLeft: {x:2, y:2}, "lowerRight":{x:(point.x+side), y:point.y} };
5. javascript中数组的建立方法: 递归
- 用构造函数定义:
- var a = new Array(); a[0] = 1.2; a[1] = "js";
- var a = new Array(1.2, "js");
- var a = new Array(2); //数组长度为2
- 数组直接量:
- var a = [1.2, "js"]; //js是一种非类型语言,因此其数组元素没必要具备相同的类型
- var empty = [];
- var matrix = [[1, 2, 3], [4, 5, 6]]; //嵌套(js不支持多维数组,但数组元素能够是数组)
- var base = 1024; var table = [base, base+1]; //变量作数组中的元素
- var sparseArray = [1, , , ,5]; //数组中存放未定义元素
6. null与undefined的区别:
(1)null是js的保留字(关键字),undefined则是ECMAScript V3中的全局变量,其初始值为undefined。
(2)null是对象类型的特殊值(“无对象”),它不是有效的对象、数组、数字、字符串和布尔值。
undefined则有三种情形:
- 使用了一个并未声明的变量
- 使用了一个已经声明但未赋值的变量
- 使用了一个并不存在的对象属性
(3)使用==判断时,null和undefined两值相等。要区分它们须要使用===或者typeof。
(4)用var声明的变量,若未赋值则初始值是undefined。
下一篇连接:《JavaScript权威指南》笔记(三)
上一篇连接:《JavaScript权威指南》笔记(一)