7.7.1 join ()方法
方法 Array.join()可以把一个数组的所有元素都转化成字符串,然后把他们连接起来。可以指定一个可选的字符串来分隔结果字符串中的元素。结果没有指定分隔字符串,就使用逗号分隔元素。
var a = {1,2,3};//用这三个元素创建一个新数组
var s = a.join();//s=="1,2,3"
如果指定一个分隔符、其生成的结果稍有不同
s=a.join(",");//s=="1, 2, 3"
注意,逗号后面有一个空格。
方法和String.split()方法相反。
7.7.2 reverse()方法
方法Array.reverse()将颠倒数组元素的顺序并返回颠倒后的数组。它在原数组上执行这一操作,也就是说,并不是对创建一个重排元素的新数组,而是在已经存在的元素数组中对数组元素进行重排。
7.7.3 sort()方法
Array.sort()是在原数组上对数组元素进行排序,返回排序后的属组。如果调用sort()时不传递给它参数,那么它将按照字母顺序对数组元素进行排序(如果必要的话,可以暂时将元素转换成字符串以执行比较嘈杂
)
var a = [33,4,111,222]
a.sort(); //1111,222,33,4
a.sort(function(a,b){
return a-b;//4,33,222,111
});
7.7.4 concat()方法
方法Array.concat()方法能创建返回一个数组,这个数组包含了调用concat()原始数组的元素,其后跟随的是concat()内的参数;如果其中有参数是数组,那么它将被展开,但要注意concat()方法并不能递归的展开一个元素为数组的数组。
var a = [1,2,3];
a.concat(4,5)// [1,2,3,4,5]
a.concat([4,5])//[1,2,3,4,5]
a.concat([4,5],[6,7])// [1,2,3,4,5,6,7]
a.concat(4,[5,[6,7]]) //[1,2,3,4,5,[6,7]]
7.7.7 push()方法和pop()方法
push()和pop()方法使我们可以像使用栈那样来使用数组。方法push()可以将一个或多个新元素附件到数组的尾部,然后返回数组的新长度。方法pop恰恰相反.FILO
var stack = [];
stack.push(1,2); //stack:[1,2] return 2
stack.pop(); //stack:[1] return 2
stack.push(3); //stack:[1,3]
stack.push([4,5])//stack: [1,[4,5]] return 2
7.7.8 unshift()方法和shift()方法
unshift()和shift()方法的行为和push()与pop()非常相似,只不过他们是在数组的首部添加数据。
var a = [];
a.unshift(1); //a[1] return :1
a.unshift(22); //a[22,1] return 2
a.shift(); //a[1] return 22
7.7.10 数组的其他方法
String.indexOf()
forEach()它为数组的每个元素调用一个指定的函数;
第8章 函数
8.2.2 可变长度的参数列表:Arguments 对象
在一个函数体内,标识符arguments具有特殊含义。Arguments对象是一个类似数组的对象,可以按照数目来获取传递的参数值.
function f(x,y,z){
if(arguments.length !=3){
throw new Error("function f called with " + arguments.length +"arguments,but it expects 3 arguments.");
}
}
arguments 对象还为javascript函数开发了一项重要的可能性,即可以编写函数使之能够使用任意数目的实际参数。
max()方法说明了着一定,可以参阅Math.max()
function max(/* ...*/){
for(var i=0;i<arguments.length;i++){
if(arguments[i]>m) m = arguments[i];
return m;
}
}
var largest = max(1,10,100,2,3);
8.2.4参数类型
javascript是宽松类型的,方法参数没有声明类型,并且对传递给函数的值夜没有执行类型检查。可以通过为函数参数选择描述性强的名字,并且在注释中包括参数类型,从而让代码具有自我说明的能力
function max(/* number...*/){ /*code here */}
8.6.4 方法apply()和call()
ECMAScript 规范给所有的函数定义了两个方法call()和apply()。使用这两个方法可以像调用其他对象的方法一样调用函数,call()和apply() 的第一个参数都是要调用的函数的对象,在函数体内这一个参数是关键字this的值。call()的剩余参数是传入给药调用的函数的值。例如把两个数字传递给函数f(),并将它作为对象的o的方法调用,可以是使用一下代码
f.call(o,1,2);
等价于:
o.m=f;
o.m(1,2);
delete o.m;
apply()方法和call()方法相似,只不过要传入的函数的参数是由数组指定的
f.apply(o,[1,2]);
例如要找到个数字数组中最大的数字,可以使用apply()方法吧数组元素传递给Math.max()方法
var biggest = Math.max.apply(null,array_of_numbers);
分享到:
相关推荐
《JavaScript 宝典(第四版)》是深入学习这门语言的重要参考资料,它提供了丰富的实例和源代码,帮助读者理解并掌握JavaScript的核心概念和技术。本压缩包包含的就是书中实例的源代码,对于学习和实践JavaScript编程...
在学习或研究"第四章"时,通常意味着这是一个逐步进阶的过程,前几章可能介绍了基础知识,如变量、数据类型、控制流(条件语句和循环)以及函数。第四章可能会引入更复杂的概念,如面向对象编程(OOP)、数据结构、...
"JavaScript宝典(第四版)"全面涵盖了JavaScript的各个方面,无论你是想入门JavaScript,还是想要深入研究,这本书都能提供宝贵的知识和指导。通过学习,你可以成为一名熟练的JavaScript开发者,为构建交互性强、...
文件名“第1章”可能暗示了这是一个逐步深入的系列教程,第一章可能涵盖基础概念,如变量声明、数据类型和基本的控制结构。随着章节的深入,可能会涉及更高级的主题,如函数表达式、模块化、异步编程等。 通过仔细...
在了解了HTML5和JavaScript动画基础之后,通过动手实践和深入研究,你可以创建出动人的网页动画,增强用户的交互体验。不过,由于HTML5和JavaScript的不断更新和发展,持续学习最新的技术标准和最佳实践也是保持技能...
这个7天的JS逆向实战教程适合有一定JavaScript基础的开发者,无论你是想提升安全意识,还是为了更好地调试和优化代码,都将从中学到宝贵的知识和技巧。通过视频课程的学习,配合实践操作,相信你能在短时间内提高...
1. **JavaScript基础**:作为项目的基石,JavaScript是实现一键分享的核心语言。它负责处理用户的交互事件,例如点击分享按钮,以及与后端或第三方API进行数据交换。 2. **DOM操作**:在网页上,JavaScript通过...
1. **JavaScript基础**:包括变量、数据类型(如字符串、数字、布尔值、null、undefined)、操作符、流程控制(条件语句、循环)、函数定义与调用等基础知识。 2. **对象与原型**:JavaScript的核心特性是基于原型...
在本资源中,“30天学通java web项目案例开发(第四章)源码”是一个针对初学者的Java Web项目开发教程的第四章源代码集合。这个教程旨在帮助学习者在30天内掌握Java Web开发的基础知识和实践技能。第四章通常会涉及...
### JavaScript基础教程知识点详解 #### 一、JavaScript简介与特性 **JavaScript** 是一种轻量级的编程语言,主要用于Web应用程序开发。它被设计用于创建交互式的网页效果,提高用户体验。JavaScript 具有以下特点...
4. **日期格式化**:JavaScript可能使用内置的`Date`对象处理日期,包括创建新的日期实例、获取日期部分(如年、月、日)以及格式化日期字符串。 5. **用户交互**:为了增强用户体验,日历可能包含前进和后退按钮,...
通过阅读和研究《JavaScript权威指南》第六版的源码,开发者不仅可以巩固JavaScript基础知识,还能深入了解语言的细节和背后的原理,从而提升编程技能。这份源码是前端开发者不可或缺的学习资料。
4. **材质与光照**:Babylon.js 提供了一系列的材质类型,如镜面反射材质、金属材质、粗糙度材质等,并且有多种光照模型,如点光源、聚光灯、平行光等,可以模拟真实世界中的光影效果。 5. **动画系统**:该库包含...
1. **JavaScript基础** - 变量、常量与数据类型:JavaScript支持var声明变量,以及let和const在ES6中的引入。数据类型包括基本类型(如字符串、数字、布尔、null、undefined)和引用类型(如对象)。 - 控制流:...
1. **Node.js基础**:Node.js是一个基于Chrome V8引擎的JavaScript运行环境,允许开发者在服务器端使用JavaScript编写程序。它将JavaScript的灵活性和强大性能带入了服务端开发,使得前后端开发语言统一成为可能。 ...
”暗示这份资料内容详尽,是快速提升JavaScript基础的好助手。 总的来说,这个资源对于刚开始学习JavaScript的人来说是极有价值的,它可以帮助他们扎实地掌握基础,为进一步深入学习和实际项目开发打下坚实的基础。...
本压缩包中的"JavaScript 学习和教学课件"为第七版基础教程,是专为想要掌握JavaScript的朋友们精心准备的资源。 在Web开发领域,JavaScript主要负责客户端的交互性,它能够动态更新网页内容,实现用户与页面的实时...