《JavaScript语言精粹》
2014-09-04 23:45 臭小子1983 阅读(148) 评论(0) 收藏 举报一、语法
1、语句
false、null、undefined、0、""、NaN这几项都会假,其它值都返回假
二、对象
1、对象字面量和获取对象属性的方法
1 <script> 2 var empty_object = {}; 3 var strong = { 4 "firstName": "jerome", 5 "listName": "Howard" 6 } 7 8 // 获取对象属性 9 console.log(strong.firstName); 10 console.log(strong["listName"]); 11 </script>
2、对象的更新
strong["firstName"] = "siguang";
3、对象引用
一个对象引用另一个对象后,当改变一个对象的属性,另一个对象也会跟着改变,因为对象引用的指是引用堆中的对象指针,而不是栈中的数据.
1 <script> 2 var empty_object = {}; 3 var strong = { 4 "firstName": "jerome", 5 "listName": "Howard" 6 } 7 8 var objStrong = strong; // 对象引用 9 10 objStrong["firstName"] = "siguang"; 11 12 // 获取对象属性 13 console.log(strong.firstName); 14 console.log(strong["listName"]); 15 </script>
4、hasOwnProperty检查属性是否是对象中的属性
var obj = { name: "siguang" };
console.log( obj.hasOwnProperty("name"); ); // 如果是返回 ture
四、函数
1、函数字面量
也就是将一个匿名函数返回给一个娈量
1 var add = function(a, b) { 2 return a + b; 3 }
2、方法和函数的调用
当一个函数保存到对象中就为方法,
1 <script> 2 // 方法调用 3 var obj = { 4 name : "siguang", 5 getName : function(){ 6 console.log(this.name); 7 } 8 } 9 10 obj.getName(); 11 12 // 函数调用 13 var name = "siguang"; 14 function getName() { 15 console.log(name); 16 } 17 18 getName() 19 </script>
3、函数的作用域
有两个好处:1、减少了命名的冲突,2、提供了自动内在管理
4、函数的其它概念
call、apply:改变函数的指针
arguments:参数的集合
作用域:
闭包:内部函数调用外部函数的变量
回调:当函数执行完某些语句后可以加载其它函数
模块:可以提供接口可以完全抛弃全局变量
链式调用:当一个方法执行完后,我们返回的不是一个值,而是this这样就可以调用直接调用另一个方法.
六、数组
数组是一段线性分配的内存
1、数组字面量
var empty = [1, ,2, 3, 4, 5, 6, 7];
2、数组长度
var arr = []; arr.length; // 为0
var arr = [1]; arr.length; // 为1
3、删除数组
var empty = [1, 2, 3, 4, 5]; empty.splice(2, 1);
浙公网安备 33010602011771号