构造函数强制使用new
来源:互联网 发布:淘宝卖家退款多久到账 编辑:程序博客网 时间:2024/06/13 21:19
function Car(model, year, miles) { if (!(this instanceof Car)) { return new Car(model, year, miles); } this.model = model; this.year = year; this.miles = miles; this.output = function () { return this.model + "走了" + this.miles + "公里"; }}var tom = new Car("大叔", 2009, 20000);var dudu = Car("Dudu", 2010, 5000);console.log(typeof tom); // "object"console.log(tom.output()); // "大叔走了20000公里"console.log(typeof dudu); // "object"console.log(dudu.output()); // "Dudu走了5000公里"
通过判断this的instanceof是不是Car来决定返回new Car还是继续执行代码,如果使用的是new关键字,则(this instanceof Car)为真,会继续执行下面的参数赋值,如果没有用new,(this instanceof Car)就为假,就会重新new一个实例返回。
0 0
- 构造函数强制使用new
- C++ 构造函数使用new
- 构造函数的强制调用
- javascript中构造函数new使用的注意事项
- 复主键使用NEW构造函数的双参数设置
- 在构造函数中使用new的注意事项
- 构造函数中调用构造函数new和delete使用小结
- new与默认构造函数
- 构造函数与 new 命令
- 在构造函数中使用new时应注意的事项、析构函数调用
- C#控制台基础 使用new时,利用公有构造函数作为桥梁,应用this关键字,调用私有构造函数
- new和C++的构造函数
- C++ new malloc 初始化与构造函数
- js中构造函数new与return
- new对象构造函数执行顺序
- C# 泛型 new()构造函数约束
- js的new Date()构造函数
- C++ 构造函数和New运算符
- jQuery同步Ajax带来的UI线程阻塞问题及解决方法
- JSP
- 【软件测试】白盒测试方法与黑盒测试方法的区别
- 【译】用maven使java web应用运行在内嵌的Jetty或Tomcat容器中
- SpringMvc解决跨域问题
- 构造函数强制使用new
- MFC单文档程序中,在PreCreateWindow函数中修改窗口大小无而法生效的解决办法
- exercise 39 字典
- sql语句里的limit使用方法
- 你了解InputManager输入控制器么?
- iOS 使用NJKWebViewProgress做webview进度条
- XML中配置加载多个.properties不生效
- MySQL计算日期的函数DATE_SUB(d,INTERVAL expr type)
- 蓝桥杯练习系统基础练习——十六进制转八进制