js积累二
来源:互联网 发布:目前java主流开发框架 编辑:程序博客网 时间:2024/04/30 10:23
三,js里的参数(arguments对象)
当我们在调用一个函数时,在函数体内可以通过arguments对象来访问这个参数数组,从而获取传递给函数的每一个参数。
进一步说一下arguments对象:它只是与数组类似,并不是Array的实例,访问对象的属性值时可以使用方括号[]。
1,根据传入的参数个数arguments.length我们可以让同一个方法执行不同的任务:
function test() {
if (arguments.length === 1) {
alert("do something");
} else if (arguments.length === 2) {
alert("do something other");
}
}
(function(){
test("one",2);
})();
2,arguments对象有一个属性:callee,该属性是一个指针,指向拥有这个arguments对象的函数,我们先看一个阶乘的例子:
function factorial(num){
if(num < 1){
return 1;
}else{
return num * factorial(num -1)
}
}
为了函数内部的代码不与函数名耦合,可以这样修改:
function factorial(num){
if(num < 1 ){
return 1;
}else{
return num * arguments.callee(num -1);
}
}
不过在严格模式("use strict")下,访问arguments.callee会出现错误
四、对象字面量
先看一个例子:
function displayInfo(args){
var output = "";
if(typeof args.name == "string"){
output += "Name: " + args.name + "\n";
}
if(typeof args.age == "number"){
output += "Age: " + args.age + "\n";
}
alert(output);
}
displayInfo({
name : "Nicholas",
age : 29
});
displayInfo({
name : "Grey"
});
我们在调用displayInfo方法时,传入的参数name,age可能只有一个,可能两个都有。像这样需要向函数传入
大量的可选参数时,使用对象字面量来封装多个可选参数是个很不错的选择,而对于那些必需的参数使用命
名参数传入。
当我们在调用一个函数时,在函数体内可以通过arguments对象来访问这个参数数组,从而获取传递给函数的每一个参数。
进一步说一下arguments对象:它只是与数组类似,并不是Array的实例,访问对象的属性值时可以使用方括号[]。
1,根据传入的参数个数arguments.length我们可以让同一个方法执行不同的任务:
function test() {
if (arguments.length === 1) {
alert("do something");
} else if (arguments.length === 2) {
alert("do something other");
}
}
(function(){
test("one",2);
})();
2,arguments对象有一个属性:callee,该属性是一个指针,指向拥有这个arguments对象的函数,我们先看一个阶乘的例子:
function factorial(num){
if(num < 1){
return 1;
}else{
return num * factorial(num -1)
}
}
为了函数内部的代码不与函数名耦合,可以这样修改:
function factorial(num){
if(num < 1 ){
return 1;
}else{
return num * arguments.callee(num -1);
}
}
不过在严格模式("use strict")下,访问arguments.callee会出现错误
四、对象字面量
先看一个例子:
function displayInfo(args){
var output = "";
if(typeof args.name == "string"){
output += "Name: " + args.name + "\n";
}
if(typeof args.age == "number"){
output += "Age: " + args.age + "\n";
}
alert(output);
}
displayInfo({
name : "Nicholas",
age : 29
});
displayInfo({
name : "Grey"
});
我们在调用displayInfo方法时,传入的参数name,age可能只有一个,可能两个都有。像这样需要向函数传入
大量的可选参数时,使用对象字面量来封装多个可选参数是个很不错的选择,而对于那些必需的参数使用命
名参数传入。
0 0
- js积累二
- HTML5+JS+CSS3前端积累(二)
- 积累(二)
- JS积累
- JS积累
- JS积累
- js积累
- js积累
- js:积累
- js 积累
- 积累(二)
- SQL语句积累(二)
- 点滴积累(二)
- 积累问题二
- DB2基本知识----积累二
- 平时积累(二)
- 方法积累系列二
- Android知识点积累(二)
- [LeetCode]Reverse Integer
- c语言中字符串操作的工具类
- c#在使用panel容器将无边框窗体作为子窗体的时候点击窗体控件激活窗体的办法
- 第23周工作计划表
- C++ Primer Plus的若干收获--(十三)
- js积累二
- fvcom学习遇到困难
- 多线程的应用!
- js积累三
- Codeforces Round #251 (Div. 2) D 二分
- CentOS6 图形界面(gnome)安装
- FTPClient
- poj 2251 Dungeon Master()
- 中国并不是世界毒窝 请看微软提供图表