请看:举个例子: function Book(title,pages,isbn){ this.title = title; this.pages = pages; this.isbn = isbn;}资料中说:对象是类的实例,例如我们声明了一个类来表示书。我目前的理解,上面的代码就是一个函数,title,pages, isbn是它的参数。 类是什么意思? 上面的只是声明了一个函数而已啊,为什么说声明一个类?
8 回答
输输输
TA贡献22条经验 获得超21个赞
function Book(title,pages,isbn){ this.title = title; this.pages = pages; this.isbn = isbn; } var b1 = Book(1, 2, 3); // Book 是函数 var b2 = new Book(4, 5, 6); // Book 是类 console.log(b1.title); // TypeError: Cannot read property 'title' of undefined console.log(b2.title); // 4
这样,就区分了类与函数
Simon站起来
TA贡献5条经验 获得超1个赞
你的理解是对的,看到评论就知道很多人对这个理解错了,js中没有严格意义上类的概念,但它有构造函数的概念,就是首字母大写的函数(当然也可以小写,但这是规范问题),有了构造函数也就是说你可以通过new的方式来得到实例,那么这个实例就可以访问,title,pages,isbn等形参了。这个就是创造对象的方法之一,另外一种方式是工厂模式,你也可以结合起来理解。
大咪
TA贡献785条经验 获得超332个赞
不要想那么难,所谓的javascript里的类和java一样,你要知道对应的就是type这个英文单词,而类即使类型的简称而已。。。声明了一个函数就是你相当于定义了书这个类型。。并把它作为函数去使用了而已。。。
stone310
TA贡献361条经验 获得超191个赞
先理解这一段话:任何函数,function aaa(){},当创建var b=new aaa()的时候,b的实例指向a的原型,(b可以调用a的属性和方法)这时我们把aaa函数称为构造函数,构造函数首个字母一般用大写表示,所以我们这么写:function Aaa(){};
然后JS本身并没有类的概念,但是我们用构造函数可以模拟出类的效果,所以你可以把构造函数看成类;
添加回答
举报
0/150
提交
取消