Jacascript——

来源:互联网 发布:英语翻译软件拍照软件 编辑:程序博客网 时间:2024/06/14 06:28

题目描述:

完成函数createModule,调用之后满足如下要求:

1.返回一个对象

2.对象的greeting属性值等于str1,name的属性值等于str2

3.对象存在一个sayIt方法,该方法返回的字符串为greeting属性值+","+name属性值

题目来源:https://www.nowcoder.com/ta/js-assessment?query=&asc=true&order=&page=2


知识提要

创建JavaScript对象

创建新对象有两种不同的方法:

    1. 定义并创建对象的实例

var objbect = {}; 或者var object = new Object(); //前一种可以直接在括号中以key:value的方式定义对象的属性

添加属性:

    object.name = "Cinderella";    object.age = 21;    object.sex="女";

        也可以写成object = {name:"Cinderella", age:21,sex:"女"};

    2. 使用函数来定义对象,然后创建新的对象实例

  

    function createObject(name,age,sex){this.name = name;this.age = age;this.sex = sex;    }

回到题目本身,它主要考察的是对象的创建,给出其中的两种不同形式的解法

function createModule(str1,str2){ var obj={greeting:str1;name:str2;sayIt:function(){return this.greeting+", "+this.name;}}return obj;}

//使用构造函数法

function createModule(str1,str2){function createObj(){this.greeting = str1;this.name = str2;this.sayIt = function(){return this.greeting+", "+this.name;}}return new createObj();}

还可以使用javaScript的原型进行创建

function createModule(){function createObj(){this.greeting = str1;    this.name = str2;}createObj.prototype.sayIt = function(){return this.greeting+", "+this.name;}return new createObj();}

注意逗号后有一个空格











0 0
原创粉丝点击