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);