Javascript 是否可以将对象作为参数传递?
有人知道如何在函数中传递对象吗 是的,对象可以生成很好的参数Javascript 是否可以将对象作为参数传递?,javascript,jquery,Javascript,Jquery,有人知道如何在函数中传递对象吗 是的,对象可以生成很好的参数 var obj = { name1: 1, name2: 2 } function myF(obj) { console.log(obj.name1) // by idea it must return 1 }; myF(obj) var p1={ 姓名:“汤姆”, 年龄:23,, 伊斯梅尔:是的 }; 变量p2={ 姓名:“艾丽西亚”, 年龄:21岁, 伊斯梅尔:错 }; 变量p3={ 姓名:“兰登”, 年龄:1,,
var obj = {
name1: 1,
name2: 2
}
function myF(obj) {
console.log(obj.name1) // by idea it must return 1
};
myF(obj)
var p1={
姓名:“汤姆”,
年龄:23,,
伊斯梅尔:是的
};
变量p2={
姓名:“艾丽西亚”,
年龄:21岁,
伊斯梅尔:错
};
变量p3={
姓名:“兰登”,
年龄:1,,
伊斯梅尔:是的
};
功能问候语(人){
var-str='';
str+=“你好,我的名字是”;
str+=person.name+'';
str+='我是一个'+人。年龄+'岁';
if(person.isMale){
str+=年龄>18岁?“男人”:“男孩”;
}否则{
str+=年龄>18岁?“女性”:女孩;
}
如果(人年龄<3岁){
str=‘呸’
}
console.log(str);
};
问候语(p1);/'你好,我叫汤姆,我是一个23岁的男人;
问候语(p2);/'你好,我的名字是艾丽西亚,我是一个21岁的女人;
问候语(p3);/'呸;
当您有一组属于一起的值,并且不想单独传递它们时(如果它们属于一起,则很少应该单独传递它们),对象是很有用的。这是非常常见的做法。许多库将使用
config
对象,因此不必指定多个参数
例如:
var p1 = {
name: "Tom",
age: 23,
isMale: true
};
var p2 = {
name: "Alicia",
age: 21,
isMale: false
};
var p3 = {
name: "Landon",
age: 1,
isMale: true
};
function greeting(person) {
var str = '';
str += 'Hello my name is ';
str += person.name + ' ';
str += 'I'm a ' + person.age + ' year old ';
if (person.isMale) {
str += age > 18 ? 'man' : 'boy';
} else {
str += age > 18 ? 'woman' : 'girl';
}
if (person.age < 3) {
str = 'Bah'
}
console.log(str);
};
greeting(p1); // 'Hello my name is Tom I'm a 23 year old man';
greeting(p2); // 'Hello my name is Alicia I'm a 21 year old woman;
greeting(p3); // 'Bah';
可以更容易地用
function makeSquare(height, width, color, border)
这会让用户更容易省去一些参数,比如说你想在没有边框的情况下生成正方形,如果你正在传递和对象,你就不需要包含border参数
带参数
function makeSquare(config)
带Obj
makeSquare(10, 20, red, null)
如果您有大量的配置选项,您可以看到这样做可以节省大量的开发时间和空间您尝试过吗?除了应该有效的拼写错误之外……任何可以分配给变量的内容也可以传递给函数。您至少可以运行代码并亲自查看。我不确定我是否明白这个问题的意义。
config = {
height: 10,
width: 10,
color: 'red'
};
makeSquare(config);