JavaScript笔记(3)
字典(Array对象)
Array对象当字典使用时,.length属性就不能使用了
如果想访问对象元素,不能使用索引,只能使用key
如果遍历字典,只能使用for……in语句
字典是另一种可变容器模型,且可存储任意类型对象
字典的每个键值 key=>value 对用冒号 : 分割,每个键值对之间用逗号, 分割,整个字典包括在花括号 {} 中
键一般是唯一的,如果重复最后的一个键值对会替换前面的,值不需要唯一
值可以取任何数据类型,但键必须是不可变的,如字符串、元组
- 一般创建字典及遍历
var arr = new Array();
arr["001"] = "牛一";
arr["002"] = "王二";
arr["003"] = "张三";
arr["004"] = "李四";
for(var key in arr){
console.log(key + ":" + arr[key]);
}
- 快速创建字典及遍历
var arr = {"name":"牛一","number":"123456","age":"20","address":"16号楼520"};
//键值对:key:value
for(var key in arr){
console.log(key + ":" + arr[key]);
}
//console.log(arr.key);通过属性来访问对应的值
Json对象
1.Json对象是一种数据组织格式,是以键值对为集合的形式来存储数据的一种方式
2.JSON 数据格式为 键/值 对,就像 JavaScript 对象属性,键/值对包括字段名称(在双引号中),后面一个冒号,然后是值
3.JSON 值可以是:
数字(整数或浮点数)
字符串(在双引号中
逻辑值(true 或 false)
数组[在中括号中]
对象{在大括号中}
null
4.JSON 使用 JavaScript 语法
//遍历Json对象
var stuArr = [
{"name":"张三","address":"郑州人","age":"20"},
{"name":"李四","address":"上海人","age":"21"},
{"name":"王五","address":"北京人","age":"19"},
{"name":"赵六","address":"四川人","age":"20"}
];
for (let i = 0; i < stuArr.length; i++) {
console.log("name:" + stuArr[i].name);
console.log("address:" + stuArr[i].address);
console.log("age:" + stuArr[i].age);
}
JavaScript的拓展函数
1.使用prototype(原型对象)为已经存在的对象添加新的属性或方法。
//输出表情符号
String.prototype.mood = function(mind){
if(!mind){
mind = "^";
}
return mind + "_" + mind;
}
var name = "_";
console.log(name.mood("♡"));
2.使用prototype(原型对象)为自定义的对象添加新的属性或方法。
//输出一个人的全名
function Person(surname,name){
this.surname = surname;
this.name = name;
}
Person.prototype.Fullname = function(){
return this.surname + this.name;
};
var people = new Person("西门","吹雪");
console.log(people.Fullname());
通常将拓展函数编写成一个外部文件,使用时导入。
全局变量与局部变量
局部变量
定义:变量在函数内声明
作用域:局部作用域。
生存周期:局部变量在函数执行完毕后销毁。
全局变量
定义:变量在函数外定义或者变量在函数内没有声明(没有使用 var 关键字),即为全局变量。
作用域:全局变量有全局作用域,网页中所有脚本和函数均可使用。
生存周期:全局变量在页面关闭后销毁。
JavaScript笔记(3)的更多相关文章
- [Effective JavaScript 笔记] 第4条:原始类型优于封闭对象
js有5种原始值类型:布尔值.数字.字符串.null和undefined. 用typeof检测一下: typeof true; //"boolean" typeof 2; //&q ...
- [Effective JavaScript 笔记] 第5条:避免对混合类型使用==运算符
“1.0e0”=={valueOf:function(){return true;}} 是值是多少? 这两个完全不同的值使用==运算符是相等的.为什么呢?请看<[Effective JavaSc ...
- [Effective JavaScript 笔记]第3章:使用函数--个人总结
前言 这一章把平时会用到,但不会深究的知识点,分开细化地讲解了.里面很多内容在高3等基础内容里,也有很多讲到.但由于本身书籍的篇幅较大,很容易忽视对应的小知识点.这章里的许多小提示都很有帮助,特别是在 ...
- [Effective JavaScript 笔记]第27条:使用闭包而不是字符串来封装代码
函数是一种将代码作为数据结构存储的便利方式,代码之后可以被执行.这使得富有表现力的高阶函数抽象如map和forEach成为可能.它也是js异步I/O方法的核心.与此同时,也可以将代码表示为字符串的形式 ...
- [Effective JavaScript 笔记]第28条:不要信赖函数对象的toString方法
js函数有一个非凡的特性,即将其源代码重现为字符串的能力. (function(x){ return x+1 }).toString();//"function (x){ return x+ ...
- 从头开始学JavaScript 笔记(一)——基础中的基础
原文:从头开始学JavaScript 笔记(一)--基础中的基础 概要:javascript的组成. 各个组成部分的作用 . 一.javascript的组成 javascript ECMASc ...
- 【原】javascript笔记之Array方法forEach&map&filter&some&every&reduce&reduceRight
做前端有多年了,看过不少技术文章,学了新的技术,但更新迭代快的大前端,庞大的知识库,很多学过就忘记了,特别在项目紧急的条件下,哪怕心中隐隐约约有学过一个方法,但会下意识的使用旧的方法去解决,多年前ES ...
- JavaScript笔记目录
JavaScript笔记目录 一.JavaScript简介 二.在HTML中使用JavaScript ...持续更新中,敬请期待
- 蛋糕仙人的javascript笔记
蛋糕仙人的javascript笔记:https://www.w3cschool.cn/kesyi/kesyi-nqej24rv.html
- JavaScript笔记(第一章,第二章)
JavaScript笔记(第一章,第二章) 第一章: <meta http-equiv="Content-Type" content="text/html; cha ...
随机推荐
- Nginx优化之基本安全优化 (隐藏Nginx软件版本号信息,更改源码隐藏Nginx软件名及版本号,更改Nginx服务的默认用户)
一,隐藏Nginx软件版本号信息 查看版本号 curl -I 192.168.0.220 HTTP/1.1 200 OK Server: nginx/1.6.2 #这里清晰的暴露了Web版本号(1.6 ...
- 使用IEDriverServer.exe驱动IE,实现自动化测试
1. 下载IEDriverServer: https://www.nuget.org/packages?q=IEDriver 2. 解压缩得到IEDriverServer.exe和IEDriverSe ...
- HDFS文件目录操作代码
分布式文件系统HDFS中对文件/目录的相关操作代码,整理了一下,大概包括以下部分: 文件夹的新建.删除.重命名 文件夹中子文件和目录的统计 文件的新建及显示文件内容 文件在local和remote间的 ...
- SPRINGMVC 视图介绍
SpringMVC视图解析器 前言 在前一篇博客中讲了SpringMVC的Controller控制器,在这篇博客中将接着介绍一下SpringMVC视图解析器.当我们对SpringMVC控制的资源发起请 ...
- idea设置背景色和字体大小
修改背景色 点击[File],选择[Settings]. 点击[Editor],选择[color Scheme]. 默认Scheme只有两种.Default是白色,Darcula是黑色 修改字体 ...
- Windows命令行工具cmder配置
简介 cmder是一个增强型命令行工具,不仅可以使用windows下的所有命令,更爽的是可以使用linux的命令,shell命令. 下载 官网地址:http://cmder.net/ 下载的时候,会有 ...
- iscsi-文件类型
iSCSI简介(Internet SCSI): iSCSI 小型计算机系统接口,IBM公司研发,用于在IP网络上运行SCSI协议:解决了 SCSI需要直连存储设备的局限性:可以不停机扩展存储容量,iS ...
- Linux服务知识点总结
一.firewalld防火墙 1.firewalld简述 firewalld:防火墙,其实就是一个隔离工具:工作于主机或者网络的边缘.对于进出本主机或者网络的报文根据事先定义好的网络规则做匹配检测,对 ...
- [机器学习理论] 降维算法PCA、SVD(部分内容,有待更新)
几个概念 正交矩阵 在矩阵论中,正交矩阵(orthogonal matrix)是一个方块矩阵,其元素为实数,而且行向量与列向量皆为正交的单位向量,使得该矩阵的转置矩阵为其逆矩阵: 其中,为单位矩阵. ...
- 第十四周课程总结&实验报告
简单记事本的实现 实验源码 主类 package test1; import javax.swing.JFrame; import javax.swing.JTextArea; public clas ...