js面试题-----原型和原型链

题目1:如何判断一个变量是数组类型

答案:

var arr = [];
arr instanceof Array//true
typeof arr //object  typeof 是无法判断数组的

题目2:原型链继承的例子(原型链继承,还有很多方法 参考我的js系列继承的6种方式)

答案:

function Animal(){
     this.eat = function(){
         console.log(‘animal  eat‘)

    }

}

function Dog(){
    this.bark = function(){
       console.log(‘bark‘)

     }

}

Dog.prototype = new Animal();

var hashiqi = new Dog()

题目3:描述new一个对象的过程

答案: ①、创建一个新对象 ②、this指向这个新对象  ③、执行代码,即对this赋值  ④、返回this

时间: 2024-10-10 21:51:49

js面试题-----原型和原型链的相关文章

JS原型与原型链终极讲解

function Person () { this.name = 'John'; } var person = new Person(); Person.prototype.say = function() { console.log('Hello,' + this.name); }; person.say();//Hello,John 上述代码非常简单,Person原型对象定义了公共的say方法,虽然此举在构造实例之后出现,但因为原型方法在调用之前已经声明,因此之后的每个实例将都拥有该方法.从

JS原型与原型链终极详解 (转载)

这篇文章需要认认真真仔仔细细的看才能看懂 一. 普通对象与函数对象  JavaScript 中,万物皆对象!但对象也是有区别的.分为普通对象和函数对象,Object ,Function 是JS自带的函数对象.下面举例说明 function f1(){}; var f2 = function(){}; var f3 = new Function('str','console.log(str)'); var o3 = new f1(); var o1 = {}; var o2 =new Object

JS原型与原型链终极详解

一. 普通对象与函数对象  JavaScript 中,万物皆对象!但对象也是有区别的.分为普通对象和函数对象,Object ,Function 是JS自带的函数对象.下面举例说明 function f1(){}; var f2 = function(){}; var f3 = new Function('str','console.log(str)'); var o3 = new f1(); var o1 = {}; var o2 =new Object(); console.log(typeo

深入探究js的原型与原型链

最近在看<javascript高级程序设计>,看完之后,觉得感触,然后我今天又看到了一篇文章,说的很搞笑.就想整理下自己所学的. 首先,如果我们把ECMAScript的对象想象为散列表,即一组名值对,其中值可以是数据或函数. 那究竟对象.原型对象.构造函数.继承.原型链. 原型属性的共享.原型的动态性.原型的整体重写呢,来一组简单粗暴的描述哈,还是挺搞笑的. 1)人是人他妈生的,妖是妖他妈生的.人和妖都是对象实例,而人他妈和妖他妈就是原型.原型也是对象,叫原型对象. 2)人他妈和人他爸啪啪啪能

总结一下js的原型和原型链

最近学习了js的面向对象编程,原型和原型链这块是个难点,理解的不是很透彻,这里搜集了一些这方面的资料,以备复习所用 一. 原型与构造函数 Js所有的函数都有一个prototype属性,这个属性引用了一个对象,即原型对象,也简称原型.这个函数包括构造函数和普通函数,我们讲的更多是构造函数的原型,但是也不能否定普通函数也有原型.譬如普通函数: function F(){ ; } alert(F.prototype instanceof Object) //true 构造函数,也即构造对象.首先了解下

JS原型与原型链(好文看三遍)

一. 普通对象与函数对象 JavaScript 中,万物皆对象!但对象也是有区别的.分为普通对象和函数对象,Object ,Function 是JS自带的函数对象. 下面举例说明: function f1(){}; var f2 = function(){}; var f3 = new Function('str','console.log(str)'); var o3 = new f1(); var o1 = {}; var o2 =new Object(); console.log(type

JS原型与原型链终极详解(转)

一. 普通对象与函数对象   JavaScript 中,万物皆对象!但对象也是有区别的.分为普通对象和函数对象,Object ,Function 是JS自带的函数对象.下面举例说明 function f1(){};  var f2 = function(){};  var f3 = new Function('str','console.log(str)'); var o3 = new f1();  var o1 = {};  var o2 =new Object(); console.log(

JS原型和原型链

1 var decimalDigits = 2, 2 tax = 5; 3 4 function add(x, y) { 5 return x + y; 6 } 7 8 function subtract(x, y) { 9 return x - y; 10 } 11 12 //alert(add(1, 3)); 但是,这个并不能体现OOP思想,看了原型与原型链之后觉得OOP一目了然: 1 var Calculator = function (decimalDigits, tax) { 2 th

JS中原型与原型链

一. 普通对象与函数对象 JavaScript 中,万物皆对象!但对象也是有区别的.分为普通对象和函数对象,Object .Function等 是 JS 自带的函数对象.下面举例说明. var o1 = {}; var o2 =new Object(); var o3 = new f1(); function f1(){}; var f2 = function(){}; var f3 = new Function('str','console.log(str)'); console.log(ty

js原型和原型链理解 constructor 构造函数

一.对象:普通对象   函数对象 二.构造函数特点:1.需要new实例化,内部使用this对象指向即将要生成的实例对象  2.首字母大写,用于区分普通函数 function Person(name){ this.name=name } var person1=new Person('xiaohong') var person2=new Person('lili') person1.constructor=Person   constructor指向构造函数,Person的内置属性 Person.