浪里小白? 2022-07-12 18:45 采纳率: 44.4%
浏览 21
已结题

function使用

function names(_name, _age) {

    name: '张三';
    age: "18";
    my() {           // {  报错:SyntaxError: Unexpected token '{'
          console.log(this.name)
    }

}

var a = names()
a.my()
var b = names();
b.my()

=======================================
// 正常打印

function names(name, age) {
    return{
        name:'张三',
        age:"18",
        my(){
            console.log(this.name)
        }
    }
}

var a = names()
a.my()
var b=names();
b.my()

为什么第一种写法错了,就因为没有 return 嘛?正确写法怎么写(不 return 的情况下)

  • 写回答

2条回答 默认 最新

  • 天际的海浪 2022-07-12 21:42
    关注

    你names()是普通函数,普通函数只有用 return 才能返回内容
    你应该是要用面向对象的写法吧,names()写成类的构造函数

    function names(_name, _age) {
     
        this.name = '张三';
        this.age = "18";
        this.my = function () {
            console.log(this.name)
        }
     
    }
    
    var a = new names(); //构造函数要用new调用
    a.my()
    var b = new names();
    b.my()
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录
查看更多回答(1条)

报告相同问题?

问题事件

  • 系统已结题 7月22日
  • 已采纳回答 7月14日
  • 创建了问题 7月12日

悬赏问题

  • ¥100 速求!商品购买力最优化问题(用遗传算法求解,给出python代码)
  • ¥15 虚拟机检测,可以是封装好的DLL,可付费
  • ¥15 kafka无法正常启动(只启动了一瞬间会然后挂了)
  • ¥30 使用matlab将观测点聚合成多条目标轨迹
  • ¥15 Workbench中材料库无法更新,如何解决?
  • ¥20 如何推断此服务器配置
  • ¥15 关于github的项目怎么在pycharm上面运行
  • ¥15 内存地址视频流转RTMP
  • ¥100 有偿,谁有移远的EC200S固件和最新的Qflsh工具。
  • ¥15 有没有整苹果智能分拣线上图像数据