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 原型 对象篇的更多相关文章
- JS原型对象通俗"唱法"
书上对于原型对象的说法给我整的眼花缭乱,完全不知道它在说什么,查了好多资料,终于有了些理解,下面我以通俗的大白话说说我对原型对象的理解. 1.关于原型对象的重要知识点 首先要知道一个很重要的知识点,一 ...
- js原型对象与Java类的比较
在我学习Javascript的原型对象时,我总是不自觉地拿Java的类思想来做比较,时间久了,我渐渐认识到二者有巨大的不同. 首先,类是不能直接当方法来运行,它最简便的方式是调用其静态方法:而原型对象 ...
- js原型对象,每个new出来的新对象都有独立的原型对象__proto__
刚才看一篇博文的时候, 动手测试了一下 JavaScript的原型链, 原型对象,发现每个构造器(赋给了某个 prototype ) new 出来的对象都有各自独立的原型对象 __proto__. p ...
- js原型对象
原型对象是什么? 在js中,每一个创建的的函数都会有一个prototype属性,这个属性指向一个对象,这个对象就是原型对象 function lla(){} console.log(lla.proto ...
- js原型对象中属性被覆盖(1)
/** *@author 程无衣 *@description 关于在原型对象中属性被覆盖 */ function Person(){} Person.prototy ...
- 对js原型对象的拓展和原型对象的重指向的区别的研究
我写了如下两段代码: function Person(){} var p1 = new Person(); Person.prototype = { constructor: Person, name ...
- JS原型对象的问题
原型模式最大的问题是由其共享的本性所导致的.我们知道,原型中所有的成员是被很多实例共享的,这种共享对于函数非常合适.对于那些包含基本值的属性倒也说得过去,毕竟可以通过在实例上添加一个同名的属性来隐藏原 ...
- 对js原型对象、实例化对象及prototype属性的一些见解
什么是原型对象? 请看下面的代码,我们以各种姿势,创建了几个方法! function fn1() { } var fn2 = function () { } var fn3 = new Functio ...
- js基础面试篇
1,js中的new做了什么? function Person () { this.name = name; this.age = age; this.sex = sex this.sayName = ...
随机推荐
- Scala的安装,入门,学习,基础
1:Scala的官方网址:http://www.scala-lang.org/ 推荐学习教程:http://www.runoob.com/scala/scala-tutorial.html Scala ...
- 微信小程序节点查询方法:wx.createSelectorQuery()的使用场景与注意事项
小程序由于内置于微信,这使得它有了得天独厚的宣传和使用优势,本着学习的心态,我在官网上看了一遍开发文档,大致得出小程序框架的设计模式与使用注意事项(重点来了,其实开发文档某些方面叙述的并不仔细,甚至存 ...
- vs2008中xlslib与libxls库的编译及使用
C++用来操作Excel的方法很多,但是涉及到跨平台,同时又要对Excel的读写操作兼顾,而且免费的库,那应该是要用xlslib和libxls了.由于技术比较菜,折腾这个折腾了一个星期了.最开始是使用 ...
- FreeMarker解析json数据
模拟后台传过来的 json 字符串text <#assign text> {"res":"0","msg":"OK&q ...
- C#学习笔记-迭代器模式
什么是迭代器模式? 迭代器模式(Iterator):提供一种方法顺序访问一个聚合对象中各个元素,而又不暴露该对象的内部表示. 何时使用迭代器模式? 当需要访问一个聚合对象,而且不管这些对象是什么都需要 ...
- [转]Django时间查询
1.gt:大于某个时间 now = datetime.datetime.now() 前一天 start = now – datetime.timedelta(hours=23, minutes=59, ...
- uboot各种目录下的文件作用
uboot下载地址:http://ftp.denx.de/pub/u-boot/ 1.目录分布 2.目录结构变化: u-boot-2010.03及以前版本├── api ...
- 【jQuery】(7)---jQueryAjax同步异步区别
jQueryAjax同步异步 今天在项目开发过程中,要实现这么一个功能 <!-- 当我点击就业的时候,触发onclick时间,check()方法里通过ajax请求返回数据, 如果该用户已经毕业可 ...
- CCNA笔记(1)
一个最简单的图来了解网络结构 一个路由器经过数据传输,目标pc的网卡网线接受数据,使数据能交换,然后就连上了互联网
- CodeForces-2015 HIAST Collegiate Programming Contest-Gym-100952A.水题 100952B.水题 100952C.回文字符串 100952D.杨辉三角处理组合数 其他题目待续。。。
哈哈哈哈哈哈哈,最近一直在补题,改各种错误的代码,wa了20多遍,改到心态爆炸,改好之后,感觉世界都美好了(叉会腰~)... A. Who is the winner? time limit per ...