文档章节

对javascript对象的理解

 小小丁灬
发布于 2016/05/30 21:42
字数 701
阅读 18
收藏 0

   说实话,以前会用js,就是在标签上绑定个事件,就像 <span onclick="doSome()"></span>,在script中写 function doSome(){} .至于对象,呵呵,完全不懂.

   在我的理解中,js的对象和 java中的对象很相似,本来就是嘛,这两个有着千丝万缕的联系.不同的是,java中用class 当前缀,如 public class Person{} ,而在js中,用 function Person(){}.当我们这样:  var person =new Person(); 一个person 对象就生成了.里面是空的 .而如果代码是这样:

function Person(name,age){

this.name=name;

this.age=age;

}

var person =new Person("xiaoxiao",25);

这个person对象,他的名字就是"xiaoxiao" ,age=25

用console.log("person名字是--->"+person.name+"  年龄是"+person.age);可以在控制台打印出来.

在js中,也可以这样直接得到一个对象: var obj={};

但是里面的值要这样形式:{arg1:"xiaofeiji",arg2:20}

键值对的形式,中间用 逗号 分开来.键一般都是string类型,值可以任意,如果是数字,可以直接写,如果是其他值,作用域中要能取到.如果没有,就会这样  :

Uncaught ReferenceError: a is not defined

运行的时候直接报错.

值也可以是一个对象,如把上面的 person放进去. var obj={person:person,title:"我是个人"}

这个时候 obj.person  就是person 了.想取值,再继续 .属性

有句话很重要,只有对象才能 .属性   .对象   

例如,var a="abc"; 要是 a.xxx 绝壁报错.

关于取值问题,可以用  obj.title 这样取值,也可以用 obj["title"] 这样取值.

在原生js中,操作dom对象,改变他的样式,可以这样:

var my_dom=document.getElementById("my_dom");

my_dom.style.height="20px";

my_dom.style.width="20px";

my_dom.style.border="1px solid red";

这样style属性就改变了.可以在浏览器上直接看出来.

也可以用这样的办法:

my_dom["style"]["height"]="20px";

my_dom["style"]["width"]="20px";

my_dom["style"]["border"]="20px";

是不是感到很奇怪,怎么会有两种,就算不感到奇怪,也感觉不正常,为什么要两种呢,一种不就可以了吗?其实,第二种方法很有用的,接下来我就告诉你.

如果有一天,你要把这个做成一个组件,通关传参来修改 my_dom 的 样式

你就要这样写  function updateStyle(key,value){

                               my_dom.style.key=value;

                        }

原谅我偷懒了,没有获取 my_dom 对象就直接用了.上面的写法错误的,不相信的可以试试.但是,你要是这样   my_dom.style[key]=value; 这样就是对的.当然你的值传的要正确,不然怎么会有效果.

肚子里没干货了,就这么点....虽然 jQuery很好用,但是写原生 js 还是好开心,因为这是自己写的!!

 

 

 

© 著作权归作者所有

下一篇: Eclipse
粉丝 4
博文 24
码字总数 11160
作品 0
宝山
私信 提问
JavaScript中的this指针 理论化this指针的定义

JavaScript现在应用之广泛,远超其他任何语言,只要是一个合格的网站应用,基本上多多少少都会有JS的存在。在JavaScript中,this的指向被不少Coder所不解,但其实JS中的this理解起来也是相当...

superwebmaster
2018/05/29
0
0
JavaScript 开发者都应该知道的十个概念,你知道几个?

自学 现在学习 JavaScript 和 Web 开发的人很多,他们都希望能凭此获得一份工作。然而,自学常常会使学习者对 JavaScript 语言本身的理解存在知识盲点。 实际上,令人感到惊讶的是,他们只需...

Java高级架构师
2018/12/11
0
0
前端开发JavaScript干货知识点汇总

很多初学的朋友经常问我,前端JavaScript都需要学习哪些东西呀?哪些是JavaScript的重点知识啊? 其实做前端开发工程师,所有的知识点都是我们学习必备的东西,只有扎实的技术基础才是高薪的...

WEB开发阿靖
06/26
0
0
前端进阶(第一期)-调用堆栈笔记

1-1 理解 Javascript 执行上下文和执行栈 原文地址 知识点有: JavaScript程序的内部执行机制; 理解执行上下文和执行栈; 理解以上知识点有助于理解JavaScript的提升机制、作用域和闭包 执行...

xszi
2018/12/04
0
0
一文读懂JavaScript和ECMAScript的区别

一文读懂JavaScript和ECMAScript的区别 这篇文章代表了我目前对 JavaScript 和 ECMAScript 之间差异的理解。文章适合那些熟悉 JavaScript 但又想更加清楚地了解其与 ECMAScript、web 浏览器、...

城市之雾
2018/12/05
24
0

没有更多内容

加载失败,请刷新页面

加载更多

OpenStack 简介和几种安装方式总结

OpenStack :是一个由NASA和Rackspace合作研发并发起的,以Apache许可证授权的自由软件和开放源代码项目。项目目标是提供实施简单、可大规模扩展、丰富、标准统一的云计算管理平台。OpenSta...

小海bug
昨天
5
0
DDD(五)

1、引言 之前学习了解了DDD中实体这一概念,那么接下来需要了解的就是值对象、唯一标识。值对象,值就是数字1、2、3,字符串“1”,“2”,“3”,值时对象的特征,对象是一个事物的具体描述...

MrYuZixian
昨天
6
0
数据库中间件MyCat

什么是MyCat? 查看官网的介绍是这样说的 一个彻底开源的,面向企业应用开发的大数据库集群 支持事务、ACID、可以替代MySQL的加强版数据库 一个可以视为MySQL集群的企业级数据库,用来替代昂贵...

沉浮_
昨天
6
0
解决Mac下VSCode打开zsh乱码

1.乱码问题 iTerm2终端使用Zsh,并且配置Zsh主题,该主题主题需要安装字体来支持箭头效果,在iTerm2中设置这个字体,但是VSCode里这个箭头还是显示乱码。 iTerm2展示如下: VSCode展示如下: 2...

HelloDeveloper
昨天
7
0
常用物流快递单号查询接口种类及对接方法

目前快递查询接口有两种方式可以对接,一是和顺丰、圆通、中通、天天、韵达、德邦这些快递公司一一对接接口,二是和快递鸟这样第三方集成接口一次性对接多家常用快递。第一种耗费时间长,但是...

程序的小猿
昨天
10
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部