字典(Array对象)

  1. Array对象当字典使用时,.length属性就不能使用了

  2. 如果想访问对象元素,不能使用索引,只能使用key

  3. 如果遍历字典,只能使用for……in语句

字典是另一种可变容器模型,且可存储任意类型对象
  1. 字典的每个键值 key=>value 对用冒号 : 分割,每个键值对之间用逗号, 分割,整个字典包括在花括号 {} 中

  2. 键一般是唯一的,如果重复最后的一个键值对会替换前面的,值不需要唯一

  3. 值可以取任何数据类型,但键必须是不可变的,如字符串、元组

  • 一般创建字典及遍历
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)的更多相关文章

  1. [Effective JavaScript 笔记] 第4条:原始类型优于封闭对象

    js有5种原始值类型:布尔值.数字.字符串.null和undefined. 用typeof检测一下: typeof true; //"boolean" typeof 2; //&q ...

  2. [Effective JavaScript 笔记] 第5条:避免对混合类型使用==运算符

    “1.0e0”=={valueOf:function(){return true;}} 是值是多少? 这两个完全不同的值使用==运算符是相等的.为什么呢?请看<[Effective JavaSc ...

  3. [Effective JavaScript 笔记]第3章:使用函数--个人总结

    前言 这一章把平时会用到,但不会深究的知识点,分开细化地讲解了.里面很多内容在高3等基础内容里,也有很多讲到.但由于本身书籍的篇幅较大,很容易忽视对应的小知识点.这章里的许多小提示都很有帮助,特别是在 ...

  4. [Effective JavaScript 笔记]第27条:使用闭包而不是字符串来封装代码

    函数是一种将代码作为数据结构存储的便利方式,代码之后可以被执行.这使得富有表现力的高阶函数抽象如map和forEach成为可能.它也是js异步I/O方法的核心.与此同时,也可以将代码表示为字符串的形式 ...

  5. [Effective JavaScript 笔记]第28条:不要信赖函数对象的toString方法

    js函数有一个非凡的特性,即将其源代码重现为字符串的能力. (function(x){ return x+1 }).toString();//"function (x){ return x+ ...

  6. 从头开始学JavaScript 笔记(一)——基础中的基础

    原文:从头开始学JavaScript 笔记(一)--基础中的基础 概要:javascript的组成. 各个组成部分的作用 . 一.javascript的组成   javascript   ECMASc ...

  7. 【原】javascript笔记之Array方法forEach&map&filter&some&every&reduce&reduceRight

    做前端有多年了,看过不少技术文章,学了新的技术,但更新迭代快的大前端,庞大的知识库,很多学过就忘记了,特别在项目紧急的条件下,哪怕心中隐隐约约有学过一个方法,但会下意识的使用旧的方法去解决,多年前ES ...

  8. JavaScript笔记目录

    JavaScript笔记目录 一.JavaScript简介 二.在HTML中使用JavaScript ...持续更新中,敬请期待

  9. 蛋糕仙人的javascript笔记

    蛋糕仙人的javascript笔记:https://www.w3cschool.cn/kesyi/kesyi-nqej24rv.html

  10. JavaScript笔记(第一章,第二章)

    JavaScript笔记(第一章,第二章) 第一章: <meta http-equiv="Content-Type" content="text/html; cha ...

随机推荐

  1. set_multicycle_path语法说明【转载】

    (转载) (其实多看手册就知道原因了) Q:多周期路径中的检查保持时间时刻,为什么默认是在建立时间检查的前一个cycle?请大家谈谈自己的理解. 如:Set_multicycle_path -setu ...

  2. 为lumen添加session支持

    为lumen添加session支持,同时配置全局函数csrf_token可用 首先laravel和lumen框架的版本要一致,我这里版本都是5.4 1.复制laravel框架config目录下的ses ...

  3. TypeScript01 编译环境的搭建、字符串特性、类型特性

    知识准备:JavaScript满足ES5前端规范.TypeScript满足ES6前端规范 1 TypeScript开发环境 TypeScript代码不能直接被浏览器识别,必须先转换成JS代码:通常是利 ...

  4. java数据结构之WeakHashMap

    一.JAVA中的四种引用类型 1.强引用(StrongReference):强引用是最为普遍的一种引用,如果对象被强引用,那么垃圾回收器无论如何都不会回收它,当内存不足时会抛出OutOfMemoryE ...

  5. JavaScript基本入门02

    目录 JavaScript基础入门 02 条件语句 if 语句 if .. else 语句 switch 结构 循环语句 while 循环 continue 关键字 do...while语句 for ...

  6. vue路由传参的几种基本方式

    原文地址 this.$router.push跳转 现有如下场景,点击父组件的li元素跳转到子组件中,并携带参数,便于子组件获取数据.父组件中: <li v-for="article i ...

  7. 3-3 man手册介绍

    man手册介绍 内容表示的意义: 各部分功能说明: SECTION: name:命令的名称及功能描述: SYNOPSIS:命令使用格式摘要: DESCRIPTION:详细描述信息: OPTIONS:选 ...

  8. Spring IoC的形象化理解

    1.IoC(控制反转) 首先想说说IoC(Inversion of Control,控制反转).这是spring的核心,贯穿始终.所谓IoC,对于spring框架来说,就是由spring来负责控制对象 ...

  9. libev 源码解析

    一  libev简介 libev是一个轻量级的事件通知库,具备支持多种事件通知能力,通过对libev的源码的阅读,可以清楚了解事件通知实现内部机制. 二 核心数据结构 在libev中关键的数据结构是, ...

  10. 50道Kafka面试题和解析(转载)

    转载:https://zhuanlan.zhihu.com/p/78912551 前言 Apache Kafka的受欢迎程度很高,Kafka拥有充足的就业机会和职业前景.此外,在这个时代拥有kafka ...