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 = ...
随机推荐
- TensorBoard的使用(结合线性模型)
TensorBoard是TensorFlow 的可视化工具.主要为了更方便用户理解 TensorFlow 程序.调试与优化,用户可以用 TensorBoard 来展现 TensorFlow 图像,绘制 ...
- Python的Django框架完成一个完整的论坛(源码以及思路)
一个完整的论坛,登录.注册.发表.头像.点赞.评论.分页.阅读排行等 使用Django2,Python3.5 开发工具:Pycharm5 需要的知识:Python基础知识,Django原理的理解以及使 ...
- squid日志分析
sarg对squid的日志流量分析报表(按小时,天,周生成) 1.SARG介绍 SARG的全称是:Squid Analysis Report GeneratorSARG非常好用的Squid日志分析工具 ...
- HashMap源码阅读
HashMap是Map家族中使用频度最高的一个,下文主要结合源码来讲解HashMap的工作原理. 1. 数据结构 HashMap的数据结构主要由数组+链表+红黑树(JDK1.8后新增)组成,如下图所示 ...
- 8、ABPZero系列教程之拼多多卖家工具 添加手机注册登录功能
现在网站基本都用手机注册,很少用邮箱注册,本篇内容比较多,代码我会尽量加备注,有些操作需要连续添加几个文件才不报错,如果VS显示错误,请继续后续步骤. 前面已经有一篇文章讲到集成短信发送模块:http ...
- 简单的基于hash和hashchange的前端路由
hash定义 hash这个玩意是地址栏上#及后面部分,代表网页中的一个位置,#后面部分为位置标识符.页面打开后,会自动滚动到指定位置处. 位置标识符 ,一是使用锚点,比如<a name=&quo ...
- Java想要学到精通,这几点一定要掌握
时代更新换代速度如此之快,尤其是深处互联网行业的java程序员,技术更需要不断更新,只有及时充电,才能不被市场淘汰.千锋Java培训老师今天为大家分享Java程序员学习的6个小技巧. 1.书籍永远是知 ...
- 12、ABPZero系列教程之拼多多卖家工具 拼团提醒功能登录拼多多实现
上篇文章已经完成了整个拼多多拼团提醒功能,本篇继续完成拼多多帐号登录,拼多多帐号登录的目的是为了获取拼团商品的SKU和订单号,便于商家备货. 以下是拼多多官方的后台登录,要实现的功能并不是直接在这里登 ...
- AFO
留坑 有点绝望 状态什么的,存在么 upd at 2017/11/14还算完满地结束了OI之路了吧.
- bzoj 1705;poj 3612:[Usaco2007 Nov]Telephone Wire 架设电话线
Description 最近,Farmer John的奶牛们越来越不满于牛棚里一塌糊涂的电话服务 于是,她们要求FJ把那些老旧的电话线换成性能更好的新电话线. 新的电话线架设在已有的N(2 <= ...