首页 > 代码库 > day14
day14
# <center>总结</center> ### <center>函数的作用域 **概念**:函数内部定义的变量只有在函数的内部使用。 **作用域链** 如果函数里面没有定义变量,浏览器会向它的上一级寻找里面的有相同定义的变量; ```javascript function fn () { a=20; } ``` #### **说明**: 函数提升只有把函数定义的时机,放到当前作用域的开头。在JS当中只有函数才会产生作用域;if、while、for都不会产生作用域 #### **变量提升**: 1.在申明变量的时候,会把当前变量申明的时机放到当前作用域的开头。 2.只有变量申明才有提升,变量的赋值没有提升。 ## <center>object(对象) **与数组的区别**: 存的东西是无序的,而数组存的东西是有序的; **创建对象的表达式** ```javascript var obj = { name(属性名): ‘Bob‘(数据值), age:20, }; 取对象属性的两种方式:点和方括号 1.console.log(obj.name); 2.console.log(obj[‘name‘]); ``` ### **区别**: 1.点会把点后面的名称直接作为属性名,而方括号会把方括号里面的返回值作为属性名; 2.对于一些特殊的属性名,比如使用数字开头,或者属性名中间出现了一些符号,这些属性只能通过方括号来取。 3.优先使用点,来取对象。 ## 构建数组的方式 ## 1. 数组的字面量:var arr = [1,2,3]; 2. new Array(length(数组长度)); 3. new Array(element0, element1, ..., elementn); ## <center>Array对象方法 ## ### 数组字面量 ```javascript var arr = [1, 2, 3]; var arr = new Array(); arr[0] = 1; arr[1] = 2; arr[2] = 3; console.log(arr); var arr = new Array(5); arr[0] = 1; arr[1] = 2; arr[2] = 3; arr[5] = 6; console.log(arr); console.log(arr.length); var arr = new Array(1, 2, 3); console.log(arr); console.log(arr.length); ``` **concat() :连接两个或更多的数组,并返回结果。** ```javascript var arr = [1, 2, 3]; var arr2 = [10, 20]; var arr3 = [‘hello‘, ‘js‘]; var result = arr.concat(arr2, arr3); console.log(arr); console.log(result); console.log(arr.push); ``` **join() :把数组的所有元素放入一个字符串。元素通过指定的分隔符进行分隔。** ```javascript var arr = [1, 2, 3, ‘hello‘]; var result = arr.join(‘‘); console.log(arr); console.log(result); ``` **pop() :删除并返回数组的最后一个元素** ```javascript var arr = [1, 2, 3, ‘hello‘]; var result = arr.pop(); console.log(arr); console.log(result); ``` **shift() :删除并返回数组的第一个元素** ```javascript ``` **push() :向数组的末尾添加一个或更多元素,并返回新的长度** ```javascript var arr = [1, 2, 3, ‘hello‘]; var arr2 = [‘hello‘, ‘js‘] var result = arr.push(arr2); console.log(arr); console.log(result); ``` **reverse() :颠倒数组中元素的顺序** ```javascript var arr = [1, 2, 3, ‘hello‘]; var result = arr.reverse(); console.log(arr); console.log(result); ``` **slice() :从某个已有的数组返回选定的元素 slice(2,-2)** ```javascript var arr = [1, 2, 3, ‘hello‘, 4, 5, ‘js‘]; console.log(arr[-2]); var result = arr.slice(2, -2); console.log(arr); console.log(result); ``` **sort() :对数组的元素进行排序(从小到大排序)** ```javascript var arr = [23, 1, 300, 7, 4]; // 定义排序规则的函数 function rule(a, b) { if(a < b) { // 如果要让a出现在b的前面,返回小于0的数 return -1; } else { // 如果要让b出现在a的前面,返回大于0的数 return 1; } return a - b; return b - a; // 按照除以3之后的余数排序 if(a % 3 > b % 3) { return -1; } else if(a % 3 === b % 3) { // 如果两个数的余数相等,就让大的数排在前面 if(a > b) { return -1; } else { return 1; } } else { return 1; } } arr.sort(rule); arr.sort(function(a, b) { return b - a; }) console.log(arr); ``` ### 定义排序规则的函数 ```javascript function rule(a, b) { if(a < b) { // 如果要让a出现在b的前面,返回小于0的数 return -1; } else { // 如果要让b出现在a的前面,返回大于0的数 return 1; } return a - b; return b - a; //按照除以3之后的余数排序 if(a % 3 > b % 3) { return -1; } else if(a % 3 === b % 3) { // 如果两个数的余数相等,就让大的数排在前面 if(a > b) { return -1; } else { return 1; } } else { return 1; } } arr.sort(rule); arr.sort(function(a, b) { return b - a; }) console.log(arr); ``` **splice() :删除元素,并向数组添加新元素** ```javascript var arr = [23, 1, 300, 7, 4]; var result = arr.splice(3, 0, 100, 200); console.log(arr.toString()); console.log(result); ``` **toSource() :返回该对象的源代码** **toString() :把数组转换为字符串,并返回结果** **toLocaleString() :把数组转换为本地字符串,并返回结果** **unshift() :向数组的开头添加一个或更多元素,并返回新的长度** **valueOf() :返回数组对象的原始值**
day14
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。