js中声明一个函数如:
function myf(arg){
//doSomething
}
var myobj=new myf("some");//1.创建对象
myobj;
myf("some");//2.执行函数
请问直接调用函数执行和创建对象在执行有什么不同吗?新手不是很理解
js中声明一个函数如:
function myf(arg){
//doSomething
}
var myobj=new myf("some");//1.创建对象
myobj;
myf("some");//2.执行函数
请问直接调用函数执行和创建对象在执行有什么不同吗?新手不是很理解
function Person(_name,_sex){
this.name = _name;
}
var person = new Person("test");//this指向的是Person的实例也就是person
Person("test");//this指向的就是window
直接调用的形式好像所有的语言都是一样,传入参数得到返回值。
但是用new
就不一样了,你可以参考http://www.cnblogs.com/sitemanager/p/3535959.html
10 回答11.1k 阅读
6 回答3k 阅读
5 回答4.8k 阅读✓ 已解决
4 回答3.1k 阅读✓ 已解决
2 回答2.6k 阅读✓ 已解决
3 回答2.3k 阅读✓ 已解决
3 回答2.1k 阅读✓ 已解决
这里没啥区别,但是当你需要把一个函数当成变量传去传去的时候,就有用了。这就是所谓的函数是一等公民,意味着一个变量,它即可以指向整数、字符串,也可以指向函数。它即可以作为函数的参数,也可以作为类的成员,用起来非常灵活