js对象与this指向
创建对象的方法
1.对象字面量法
var obj={} var obj={ 'first-name':'Tom', 'last-name':'bush',age:24, Family:{ Brother:’tony’, Father:’jack’} }
对于合法的js标示符且不是表达式,并不强制要求用引号扩住属性名,对于不合法的标识符,则引号是必须的,如'first-name',对象可以嵌套
2.数组字面量法
var box=['a','b',3,4,5]; alert(box[1]); //b //遍历 for(x in box){ document.write(x+":"+box[x]+"<br/>"); } //0:a //1:b //2:3 //3:4 //4:5 //不可以box['x']或box.x
二.this 指向
在全局里this指向window,在某个对象里 this指向该对象,但在闭包里this却指向window
看以下代码
var user="the Window"; var box={user:'the box',getThis:function(){return this.user;},getThis2:function(){return function (){return this.user;}} };alert(this.user);//the Window alert(box.getThis());//the box alert(box.getThis2()());//the Window alert(box.getThis2().call(box));//the box 对象冒充
闭包不属于这个对象的属性或方法所以指向全局
还有一种解决方法
var box={user:'the box',getThis:function(){var that=this;//指向boxreturn function(){return that.user;}} } alert(box.getThis()());//the box
转载于:https://www.cnblogs.com/HKUI/p/3333461.html
js对象与this指向相关推荐
- #JS:this的指向及函数调用对this的影响
call.apply.bind和this真是ES5众多坑中的一个,希望本篇文章能让你记住它们! this的指向 此前在摸清JS中this的指向问题 ,这篇文章中我就尝试总结过this的指向,也顺带提及 ...
- JS 对象机制深剖——new 运算符
其实关于 new 的讨论,早有众多前辈做了先行.然而作为 JS 对象机制系列的一个重要成员,这一篇不可少,而且按照自己的惯例,我将首先引用语言规范的内容.另外,本篇引用到的规范内容比较多,不过我会做详 ...
- JS对象与Dom对象与jQuery对象之间的区别
前言 通过问题看本质: 举例: js的写法:document.getElementById('save').disabled=true; 在jquery中我是这样写的 $("#save&qu ...
- JS对象与jQuery对象
JS对象大致可以分为三种,如下图: JS常用内置对象(JS自身所持有的对象,不需要创建,直接可用): String:API跟java的字符串API大致相同 两种创建对象的方式:String s1 = ...
- [js] 说说你对js对象生命周期的理解
[js] 说说你对js对象生命周期的理解 一切皆对象 咱们经常听到JS中"一切皆对象"?有没有问想过这是什么意思?其它语言也有"一切皆对象"之说,如Python ...
- JS对象拷贝:深拷贝和浅拷贝
摘要:对象拷贝,简而言之就是将对象再复制一份,但是,复制的方法不同将会得到不同的结果. 本文分享自华为云社区<js对象深浅拷贝,来,试试看!>,作者: 北极光之夜.. 一.速识概念: 对象 ...
- replace为undefined_手写 XML 转化为 JS对象 方法
function xml(str, is = true){ //解析XML/* 定义返回的对象 */let result = { //解析成功返回的对象(标签名,属性集合对象[属性名:属性值...], ...
- 从零开始学前端 - 16. JS对象Object介绍及常用方法
作者: 她不美却常驻我心 博客地址: https://blog.csdn.net/qq_39506551 微信公众号:老王的前端分享 每篇文章纯属个人经验观点,如有错误疏漏欢迎指正.转载请附带作者信息 ...
- 自学js第十天:JS对象和this和执行上下文
复习数组基础方法 作用域 函数 小测试: <!DOCTYPE html> <html lang="en"><head><meta char ...
- js 对象解构_JS对象:解构
js 对象解构 JS对象:TL; DR (JS Objects: TL;DR) JavaScript has been plagued since the beginning with misunde ...
最新文章
- 如何计算空间一条直线外一点到这条直线的垂足点坐标
- 自己编写的MSN历史记录合并工具
- jQuery循环使用相同类的元素
- ML之NBLoR:利用NB(朴素贝叶斯)、LoR(逻辑斯蒂回归)算法(+CountVectorizer)对Rotten Tomatoes影评数据集进行文本情感分析—五分类预测
- “面试不败计划”:面试题基础二
- TCP超时设置的客户端重发5次
- 最为完整的gdb调试
- .net mysql字符串截取_MySQL 字符串拆分操作(含分隔符的字符串截取)
- Const限定符与C++11Constexpr的区别
- 看清贬值的真实情况再惊恐
- autosize px转dp_干货集中营
- 软考常考知识点整理-项目风险管理计划
- 老师偷偷塞给我一份资料,封面写着《操作系统》,下面一行小字
- Windows远程控制时,输入账号密码无法登录,提示“用户名或密码错误”问题(已解决)
- 《Ogre一步一步学开发》 一、Ogre源码编译与安装,从源代码开始构建Ogre图文教程(Ogre 1.12.1 Source + VS2019 + Windows10)
- Mysql5.1大表分区效率测试
- 云服务器是widows7系统,云服务器win7系统
- 黑鲨3能用鸿蒙系统吗,黑鲨游戏手机3支持语音操控:没有三头六臂照样吃鸡
- 怎么恢复永久删除的文件
- 获取元素在屏幕的相对位置
热门文章
- 正在更新office,应用程序无法正常启动
- NSCT(Nonsubsampled Contourlet变换)
- ArcGIS 打开捕捉工具
- android实现Materia Design风格APP(二):部分Materia Design风格的控件介绍一
- 计算某日是该年的第几天
- 详细解读用C语言编写的 “扫雷”程序
- Flutter之实战InheritedWidget详解
- 卧槽,又来一个 Java 大神器!!
- 视频画面帧的展示控件SurfaceView及TextureView对比
- android package.xml,文件没问题的情况下not read packageName from xxx\AndroidManifest.xml?