猿问

大神过来!

请看:举个例子:

  function Book(title,pages,isbn){

        this.title = title;

        this.pages = pages;

        this.isbn = isbn;

}

资料中说:对象是类的实例,例如我们声明了一个类来表示书。

我目前的理解,上面的代码就是一个函数,title,pages, isbn是它的参数。 类是什么意思? 上面的只是声明了一个函数而已啊,为什么说声明一个类?


Drenched_belief
浏览 1690回答 8
8回答

输输输

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这样,就区分了类与函数

输输输

用 new 实例化就是一个类,不用 new 的时候只是一个普通的函数

Simon站起来

你的理解是对的,看到评论就知道很多人对这个理解错了,js中没有严格意义上类的概念,但它有构造函数的概念,就是首字母大写的函数(当然也可以小写,但这是规范问题),有了构造函数也就是说你可以通过new的方式来得到实例,那么这个实例就可以访问,title,pages,isbn等形参了。这个就是创造对象的方法之一,另外一种方式是工厂模式,你也可以结合起来理解。

大咪

不要想那么难,所谓的javascript里的类和java一样,你要知道对应的就是type这个英文单词,而类即使类型的简称而已。。。声明了一个函数就是你相当于定义了书这个类型。。并把它作为函数去使用了而已。。。

南绝枫

肯定有类啊,这个函数的功能就是用来给类进行实例赋值的啊,而且你的book类的属性起码包括了title,pages和isbn

stone310

先理解这一段话:任何函数,function aaa(){},当创建var b=new aaa()的时候,b的实例指向a的原型,(b可以调用a的属性和方法)这时我们把aaa函数称为构造函数,构造函数首个字母一般用大写表示,所以我们这么写:function Aaa(){};然后JS本身并没有类的概念,但是我们用构造函数可以模拟出类的效果,所以你可以把构造函数看成类;

MarlboroKay

你声明了一个book类。 你可以试着console.log()输出一下他的title. 望采纳

雪颲

。。。上面那个他就是函数啊
随时随地看视频慕课网APP

相关分类

JavaScript
我要回答