js创建对象
js中声明一个函数如:
function myf(arg){
//doSomething
}
var myobj=new myf("some");//1.创建对象
myobj;
myf("some");//2.执行函数
请问直接调用函数执行和创建对象在执行有什么不同吗?新手不是很理解
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(5)
这里没啥区别,但是当你需要把一个函数当成变量传去传去的时候,就有用了。这就是所谓的函数是一等公民,意味着一个变量,它即可以指向整数、字符串,也可以指向函数。它即可以作为函数的参数,也可以作为类的成员,用起来非常灵活
直接调用的形式好像所有的语言都是一样,传入参数得到返回值。
但是用
new
就不一样了,你可以参考http://www.cnblogs.com/sitemanager/p/3535959.html
当前函数中正在执行的上下文环境不一样了,也就是说this指向不一样了
this的指向不同,我昨天刚刚看到,new出来的this指向之歌对象的实例,如果是申明的this指向window