不知道我在这里做错了什么.它没有给我结果.
var dd= function(name){
this.sayHello=function(){
alert ("hello " + this.ss);
}
this.name=name;
}
dd("jack").sayHello();
Run Code Online (Sandbox Code Playgroud)
我正确地称它为好吗?什么是调试js的最佳工具
你的dd功能:
永远不要创建对象
永不退货 dd
指两个不同的属性(name和ss),设置一个但使用另一个
您对dd函数的调用似乎期望它创建并返回一个对象,并且似乎期望sayHello使用dd设置up(name)的相同属性.
所以:
var dd = function(name) {
return {
sayHello: function() {
alert("hello " + this.name);
},
name: name
};
};
dd("Jack").sayHello();Run Code Online (Sandbox Code Playgroud)
或者,如果要使用new关键字,则可以执行以下操作:
var Dd = function(name) {
this.name = name;
this.sayHello = function() {
alert("hello " + this.name);
};
};
new Dd("Jack").sayHello();Run Code Online (Sandbox Code Playgroud)
使用时new,对象由new运算符创建,new Dd(...)表达式的结果是new创建的对象(除非Dd返回不同的对象).
请注意,我将第一个字母大写.这是newJavaScript中构造函数(您调用的函数)的压倒性约定.
您还可以移动sayHello到将被指定为由其创建的对象的原型的对象new.被指定为原型的对象在DD.prototype属性上可用,因此:
var Dd = function(name) {
this.name = name;
};
Dd.prototype.sayHello = function() {
alert("hello " + this.name);
};
new Dd("Jack").sayHello();Run Code Online (Sandbox Code Playgroud)
什么是调试js的最佳工具
所有现代浏览器都内置了功能齐全的调试器.通常可以通过按F12或Ctrl + Shift + I,或者当然可以从浏览器的菜单或汉堡按钮获得.你使用哪一个完全取决于你.我非常喜欢Chrome中的Dev Tools.