文档章节

第三章js学习小结--引用类型

范小菜
 范小菜
发布于 2016/11/30 12:33
字数 762
阅读 3
收藏 0

js中的引用类型是一种数据结构,他与传统面向对象语言中的类相似,但又不同因为js中没有类的定义和接口等基本结构。引用类型也被称为对象定义,用来描述一类对象所具有的属相和功能。引用类型的值是该引用类型的一个实例。

1.Object类型是js中使用最多的引用类型。创建Object实例的方式:

<script type="text/javascript">
		// 1.使用new 关键字后跟Object构造函数;
		var obj1=new Object();
		obj1.name="fancy";
		obj1.age=28;
		//2.使用对象字面量表示法,不同属性之间用逗号分开;
		var obj2={
			name:"fancy",
			age:28
		}
		//3
		var obj3={};//等价于new Object();
		obj3.name="fancy";

	</script>

2.访问对象属性:一般我们访问对象的属性是用点表示法,在js中除此之外还可以用方括号表示法来访问对象属性如下面的例:

var person={
			name:"fancy",
			age:27,
			sex:"female"
		} 
		alert(person.name);//fancy
		alert(person["name"]);//fancy

从上面看两者没啥区别,但是使用方括号的好处就是可以使用变量来访问对象的属性,还有如果属性名中有空格关键字等使用点表达法会出现报错。

//接着上面的例子
var propertyName="age";
		alert(person[propertyName])//27;

3.下面看到面试题目:将url参数以对象的形式表现出来 (eg:http://www.baidu.com?a=1&b=2&c=3)

看到题目我们先来分析一下:首先我们可以把url 看成一个字符串,然后获取“?”后面的参数这里我们可以使用字符串的split("?")方法(该方法是基于指定的分隔符将一个字符串分割成多个子字符串,然后将子字符串放在一个数组中。);接着我们可以用同样的方式让分离出来的参数(a=1&b=2&c=3)在进行split("&")匹配分割成([a=1,b=2,c=3])这样的数组;再接着在对该数组中的每一项在进行split("=")匹配分;最后在把上述分割出来的参数保存在一个对象中就可以了(这里就用到了对象属性方括号表示法);代码如下:

<script type="text/javascript">
		var url="http://www.baidu.com?a=1&b=2&c=3";
		var urlArray=url.split("?")[1];//使用split()分理处URL中的参数(a=1&b=2&c=3)
		//alert(urlArray)(a=1&b=2&c=3);
		var parameter=urlArray.split("&");//再次使用split("&")分离出[a=1,b=2,c=3]
		//alert(parameter)[a=1,b=2,c=3];
		var obj={};//声明一个空对象
		for(var i=0;i<parameter.length;i++){//对parameter中的每项进行split()让参数名与参数值分开;
			var k=parameter[i].split("=")[0];//k代表对象属性名的变量
			var v=parameter[i].split("=")[1];//v代表对象属性值的变量
			obj[k]=v;
		}
		console.log(obj);//结果 {a: "1", b: "2", c: "3"}
	</script>

总结该题目主要考查1.string 的split()方法;2,对象属相表达方式

© 著作权归作者所有

共有 人打赏支持
范小菜
粉丝 1
博文 13
码字总数 6191
作品 0
松江
私信 提问
《javascript语言精粹》学习笔记1

作为一个前端的学习者,之前由于时间赶且懒的特性,没有好好的学习一下js的特性,只看了w3cschool的基础教程,知道语法后就用起了jQuery框架,js的很多基础完全没有接触理解。这段时间了解到...

高霸天
2013/03/17
0
0
开源书籍-JavaScript 编程精解

《JavaScript 编程精解》(Eloquent JavaScript)第三版,是由马尔奇·哈弗贝克(Marlin Haverbeke)JavaScript程序员编写的JS入门书籍,Marlin Haverbeke通晓多种编程语言,在Web开发方面积累...

marsdream
06/04
0
0
javascript入门经典【推荐】—新手必备、零基础学习

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/a125138/article/details/7819466 本书目录 第一章: JavaScript语言基础第二章: JavaScript内置对象 第三章...

续写经典
2012/08/01
0
0
《Cocos2d-x实战 JS卷 Cocos2d-JS开发》上线了

感谢大家一直以来的支持! 各大商店均开始销售: 京东:http://item.jd.com/11659698.html 当当:http://product.dangdang.com/23659808.html 《Cocos2d-x实战 JS卷 Cocos2d-JS开发》源码及样...

智捷课堂
2015/03/26
0
0
WisdomPlanet-Javascript-Primer

WisdomPlanet-Javascript-Primer是一本Javascript入门方面的前端书,目前刚开始连载。书中以小说故事模式开展,讲解了JS的语言基础,作者希望通过此书让刚学编程或准备学习JS的同学作为一个学...

念念之间
2015/04/01
1
0

没有更多内容

加载失败,请刷新页面

加载更多

EOS官方钱包keosd

EOS官方钱包的名称是keosd,它负责管理你的私钥,并且帮你进行交易的签名。 不过不幸的是,keosd钱包对普通用户并不友好,它是一个命令行程序,目前还没有像以太坊的mist那样的图形化界面,而...

汇智网教程
31分钟前
1
0
ArrayList的实现原理以及实现线程安全

一、ArrayList概述 ArrayList是基于数组实现的,是一个动态的数字,可以自动扩容。 ArrayList不是线程安全的,效率比较高,只能用于单线程的环境中,在多线程环境中可以使用Collections.syn...

一看就喷亏的小猿
47分钟前
2
0
Netty 备录 (一)

入职新公司不久,修修补补1个月的bug,来了点实战性的技术---基于netty即时通信 还好之前对socket有所使用及了解,入手netty应该不是很难吧,好吧,的确有点难,刚看这玩意的时候,可能都不知道哪里...

_大侠__
昨天
5
0
Django简单介绍和用户访问流程

Python下有许多款不同的 Web 框架。Django是重量级选手中最有代表性的一位。许多成功的网站和APP都基于Django。 Django是一个开放源代码的Web应用框架,由Python写成。 Django遵守BSD版权,初...

枫叶云
昨天
8
0
Spring Cloud Stream消费失败后的处理策略(四):重新入队(RabbitMQ)

应用场景 之前我们已经通过《Spring Cloud Stream消费失败后的处理策略(一):自动重试》一文介绍了Spring Cloud Stream默认的消息重试功能。本文将介绍RabbitMQ的binder提供的另外一种重试...

程序猿DD
昨天
7
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部