js 原型 对象篇

Posted liuxiankun

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了js 原型 对象篇相关的知识,希望对你有一定的参考价值。

一切皆对象

js中  值类型就不是对象  剩下的都是对象(也就是引用类型)

 

typeof()运算符 判断四种值类型 

typeof 10; --> Number  ||   typeof "10" -->String  || typeof true --> Boolean  || typeof x --> undefined  

 

typeof(funciton(){}) --> function

typeof([1,2,3]) --> Object

typeof({a:1,b:2}) --> Object

typeof(null) --> Object

typeof(new Number(10)) --> Object   // 

 

判断一个变量是不是对象非常简单 值类型 用typeof()判断  引用类型 用 instanceof() 判断 

 

注: instanceof()运算符的判断规则 :  A instanceof B    一个构造函数的prototype属性所指向的对象是否存在另外一个要检测对象的原型链上?

                                                A是对象 B一般都是构造函数 ,沿着A的__proto__(隐形原型)向上一级查找,同时沿着B的prototype这条线向上找,如果两者能找到同一引用,返回true

对象  若干属性的集合

 javascript中 数组是对象,函数是对象,对象是对象  js中属性以键值对的形式表现出来 所以 属性 方法 的区别就是后面键值的不同 

 var obj = {
  a : 10,
  b : function(){}, 
  c : {
    name : "liuxiankun",
    year : 1992
  },
 };

 obj是一个自定义对象,有a b c 三个属性 ,c属性的值还是一个对象 又有两个属性

 函数和数组也是对象 不可以用上面的方法定义属性(因为以上自定义对象是 new Object()的实例 牵强吧) 但是只要是对象 就是属性的集合

 函数为例

 var fn = function(){} 

 fn.a = 10;

 fn.b = funciton(){}

 fn.c = {
    name : "liuxiankun",
    year : 1992
 }

以上代码中 函数作为对象被赋值了三个属性  很明显 属性的集合

jQuery中的$.trim()   

$ 本身就是一个函数

$.trim() 就是函数身上的一个属性 属性的值就是函数

 











以上是关于js 原型 对象篇的主要内容,如果未能解决你的问题,请参考以下文章

JavaScript面向对象——成员属性静态属性原型属性与JS原型链

js 中对象--对象结构(原型链基础解析)

js面向对象程序设计之继承

JS 判断对象属性是否存在,判断是否包含某个属性,是否为自身属性

JS基础入门篇(三十六)—面向对象( 三 )

js面向对象程序设计之构造函数