文档章节

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

范小菜
 范小菜
发布于 2016/11/30 12:33
字数 762
阅读 3
收藏 0
点赞 0
评论 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
博文 9
码字总数 4644
作品 0
松江
《javascript语言精粹》学习笔记1

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

高霸天
2013/03/17
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
开源书籍-JavaScript 编程精解

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

marsdream
06/04
0
0
《JavaScript入门经典》学习笔记1

2014.04.02 学习内容: 第一章:开启JavaScript开发之门 第二章:固本求源——JavaScript基础 第三章:体验逻辑之美——流程控制 第四章:化整为零——函数及其使用 第五章:多变的字符串与数...

ChenReason
2014/04/03
0
0
JavaScript入门(八)

小结 在这一章中,我们学习了什么是JavaScript、它是如何工作的以及它的优缺点。它最大的缺点是我们不能信任获得的信息是否可靠,对此我做了注解,但是我同样也提到,使用JavaScirpt可以使网...

晨曦之光
2012/03/09
0
0
精读《你不知道的javascript》中卷

前言 《你不知道的 javascript》是一个前端学习必读的系列,让不求甚解的JavaScript开发者迎难而上,深入语言内部,弄清楚JavaScript每一个零部件的用途。本书《你不知道的javascript》中卷介...

程序员解决师
06/20
0
0
13篇文章,教你学会ES6知识点

ES6 深入理解ES6》学习笔记 本文用于汇总链接到各个子章节的内容,github 欢迎大家题issues和PR,如果对你有帮助,也可以给 star 支持 :) 目录 第一章 块级绑定 第二章 字符串和正则表达式 ...

你听___
05/08
0
0
JavaScript 编程精解 中文第三版 零、前言

零、前言 原文:Introduction 译者:飞龙 协议:CC BY-NC-SA 4.0 自豪地采用谷歌翻译 部分参考了《JavaScript 编程精解(第 2 版)》 We think we are creating the system for our own purp...

ApacheCN_飞龙
06/01
0
0
《javascript语言精粹》读书笔记(二)

第三章 对象 javascript的简单类型包括数字、字符串、布尔值、null值和undefined值,其他所有的值都是对象。 javascript包含一个原型链特性,允许对象继承另一对象的属性。正确的使用它能减少...

倪闯
2015/03/12
0
2
这一次,我们换种姿势学习 javascript

前言 《你不知道的 javascript》是一个前端学习必读的系列,让不求甚解的JavaScript开发者迎难而上,深入语言内部,弄清楚JavaScript每一个零部件的用途。本书介绍了该系列的两个主题:“作用...

程序员解决师
05/29
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

Scala Configuration 相关API

Play使用了 Typesafe config library,但是也提供了一个有着更多Scala高级特性的的 Configuration 封装。不熟悉Typesafe配置的开发者可以移步 configuration文件的语法和特性文档。 读取配置...

Landas
今天
1
0
使用cookie技术 记住账号

1. 效果 2. 实现过程 2.1 前端 将用户的选中传递给后台 这个参数的获取是 参考:https://my.oschina.net/springMVCAndspring/blog/1860498 // var rememberLogin = $("#rememberLoginId").i...

Lucky_Me
今天
1
0
《趣谈网络协议》02之网络分层的真实含义

一、提出问题 1.提出问题 当你听到什么二层设备、三层设备、四层 LB 和七层 LB 中层的时候,是否有点一头雾水,不知道这些所谓的层,对应的各种协议具体要做什么“工作”? 2.这四个问题你弄...

aibinxiao
今天
2
0
Python3学习日志二 Python中的集合set和字典dict

1.集合set 定义一个集合set 我们可以看到定义集合set有两种不同的形式,如果要定义一个空的集合set不能用{}而是要用set();另外,集合是无序的,而且set中的元素是不可重复的,如果你定义了一...

Mr_bullshit
今天
0
0
adb 操作指令详解

ADB,即 Android Debug Bridge,它是 Android 开发/测试人员不可替代的强大工具,也是 Android 设备玩家的好玩具。 注:有部分命令的支持情况可能与 Android 系统版本及定制 ROM 的实现有关。...

孟飞阳
今天
0
0
nodejs安装以及环境配置(很好的node安装和配置文章,少走很多弯路)

一、安装环境 1、本机系统:Windows 10 Pro(64位) 2、Node.js:v6.9.2LTS(64位) 二、安装Node.js步骤 1、下载对应你系统的Node.js版本:https://nodejs.org/en/download/ 2、选安装目录进...

sprouting
今天
1
0
Redisson

了解了Redisson,发现使用挺简单的,接下来准备深入学习一下。 Redisson介绍 Redisson是架设于Redis基础之上的一个Java驻内存数据网格(In-Memory Data Grid) Redisson在基于NIO的Netty框架上...

to_ln
今天
0
0
python有哪些好玩的应用实现,用python爬虫做一个二维码生成器

python爬虫不止可以批量下载数据,还可以有很多有趣的应用,之前也发过很多,比如天气预报实时查询、cmd版的实时翻译、快速浏览论坛热门帖等等,这些都可以算是爬虫的另一个应用方向! 今天给...

python玩家
今天
0
0
python爬虫日志(3)-爬去异步加载网页

在浏览器检查元素页面中,选取Network中的XHR选项即可观察每次加载页面,网页发出的请求,观察url的规律即可利用封装的函数对每一页进行爬取。

茫羽行
今天
0
0
Python数据分析numpy基础-维度的认识

什么是多维数组? 核心对象是同型的多维数组(简单理解就是一个表格,通常内容都是些数字),具有相同的数据类型。 概念: 1. axes(轴):数组的维度统称为轴。 2. rank:轴的数量称为rank。...

十年磨一剑3344
今天
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部