js创建对象

发布于 2022-09-03 11:57:32 字数 204 浏览 17 评论 0

js中声明一个函数如:

function myf(arg){
    //doSomething
    }
    
   var myobj=new myf("some");//1.创建对象
    myobj;
    
   myf("some");//2.执行函数

请问直接调用函数执行和创建对象在执行有什么不同吗?新手不是很理解

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(5

尹雨沫 2022-09-10 11:57:32

这里没啥区别,但是当你需要把一个函数当成变量传去传去的时候,就有用了。这就是所谓的函数是一等公民,意味着一个变量,它即可以指向整数、字符串,也可以指向函数。它即可以作为函数的参数,也可以作为类的成员,用起来非常灵活

拒绝两难 2022-09-10 11:57:32
function Person(_name,_sex){
    this.name = _name;
}
var person = new Person("test");//this指向的是Person的实例也就是person
Person("test");//this指向的就是window
小糖芽 2022-09-10 11:57:32

直接调用的形式好像所有的语言都是一样,传入参数得到返回值。
但是用new就不一样了,你可以参考http://www.cnblogs.com/sitemanager/p/3535959.html

红墙和绿瓦 2022-09-10 11:57:32

当前函数中正在执行的上下文环境不一样了,也就是说this指向不一样了

九局 2022-09-10 11:57:32

this的指向不同,我昨天刚刚看到,new出来的this指向之歌对象的实例,如果是申明的this指向window

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文