for (var key in obj)
{
  console.log('对象属性名:' , key);
  if (obj[key] instanceof Object) {
  sayName(obj[key]);
  }
}

遍历对象的方法

for (var i = 0; i < obj.length; ++i)
{
  console.log('对象属性名:' , i);
  if (obj[i] instanceof Object) {
  sayName(obj[i]);
  }
}

遍历数组的方法

JSON是什么?JSON是JS的一种简单数据格式,JSON是JavaScript原生格式,它是一种严格的js对象的格式,JSON的属性名必须有双引号,如果值是字符串,也必须是双引号

值为数组就不用加双引号,key必须加双引号

JSON 是 JavaScript 原生格式,这意味着在JavaScript 中处理 JSON 数据不需要任何特殊的 API 或工具包。

  

  var obj2={};//这只是JS对象
  var obj3={width:100,height:200};/*这跟JSON就更不沾边了,只是JS的 对象 */
  var obj4={'width':100,'height':200};/*这跟JSON就更不沾边了,只是JS的对象 */
  var obj5={"width":100,"height":200,"name":"rose"}; /*我们可以把这个称做:JSON格式的JavaScript对象 */
  var str1='{"width":100,"height":200,"name":"rose"}';/*我们可以把这个称做:JSON格式的字符串 */
  var a=[
   {"width":100,"height":200,"name":"rose"},
   {"width":100,"height":200,"name":"rose"},
   {"width":100,"height":200,"name":"rose"},
     ];
   /*这个叫JSON格式的数组,是JSON的稍复杂一点的形式 */
  var str2='['+
     '{"width":100,"height":200,"name":"rose"},'+
     '{"width":100,"height":200,"name":"rose"},'+
     '{"width":100,"height":200,"name":"rose"},'+
       ']' ;
 /* 这个叫稍复杂一点的JSON格式的字符串 */
 
JSON仅仅是JavaScript中的一种数据格式,用于多语言情况下的数据传输
原文解析得很清楚:  http://www.jb51.net/article/107041.htm
 
 Json转化为js对象:JSON.parse(jsonstring);
Js对象转换为Json: JSON.stringify(jsobj);
 
 

为什么js可以通过object['property'] 访问值呢?是应为js都是关联数组,不是java那种纯粹的数组

数组并不用设置长度,这个和java有些不一样

删除数组的一个元素不会导致修改length的属性,只会变成稀疏数组

java 中遍历删除List一般使用迭代器删除,无论用for循环还是增强for循环都是会有问题的

原文链接:  http://blog.csdn.net/superxlcr/article/details/51534428

  将函数f()加到M方法中,然后调用:o.M() 就调用了函数

也可以这样:o["M"](X,Y)

   

  因为函数的执行用到了作用域链,作用域链是在函数的定义的时候就创建了,这种层次关系在创建的时候已经确定了下来

,所以无论什么时候调用,结果都是返回local scope

js备忘录4的更多相关文章

  1. js备忘录模式

    备忘录(Memento):在不破坏封装的前提下,捕获一个对象的内部状态,并在该对象之外保存这个状态.这样以后就可将该对象恢复到原先保存的状态. 备忘录模式比较适用于功能比较复杂的,但需要维护或记录属性 ...

  2. js备忘录_2

    JS函数的参数在function内可以用arguments对象来获取. 转化为数组:var arr=Array.prototype.slice.call(arguments,0); Array有两个: ...

  3. js备忘录_1

    js没有重载,只有同名覆盖,参数任意 所有参数封装在arguments数组中 Uncaught ReferenceError: d is not defined js引擎会当做变量处理 functio ...

  4. js备忘录5

    函数的全解析 原文链接: http://mp.weixin.qq.com/s?src=11&timestamp=1509672643&ver=491&signature=9fD ...

  5. js备忘录3

    JavaScript也有类型转换 js中的获取指定位数的方法 +和-的转换方向不同 在JavaScript中首先给变量赋值数字,然后再给变量赋值字符串是合法的 这点和Java有些区别 在函数体内声明变 ...

  6. js备忘录2

    JavaScript 的类型分为两类,分别是原始类型和对象类型 其中原始类型中只有数字.字符串和布尔型,和java中的有些不一样 null和undefined不是基本数据类型中的某一种 对象是prop ...

  7. JS备忘录

    /** *删除数组指定下标或指定对象 */ Array.prototype.remove = function (obj) { for (var i = 0; i < this.length; ...

  8. js备忘录6

  9. js备忘录1

    新建对象 赋值和取值操作 var book={ topic:"JavaScript", fat: true }; book.topic  通过点访问 book["fat& ...

随机推荐

  1. Python基础-画图:matplotlib

    Python画图主要用到matplotlib这个库.具体来说是pylab和pyplot这两个子库.这两个库可以满足基本的画图需求. pylab神器:pylab.rcParams.update(para ...

  2. PAT02-线性结构3 Reversing Linked List

    题目:https://pintia.cn/problem-sets/1010070491934568448/problems/1037889290772254722 先是看了牛客(https://ww ...

  3. Spring事务(三)事务增强器

    摘要: 本文结合<Spring源码深度解析>来分析Spring 5.0.6版本的源代码.若有描述错误之处,欢迎指正. 目录 一.创建事务 1. 获取事务 2. 处理已经存在的事务 3. 准 ...

  4. MySQL(四)执行计划

    转载自:Oo若离oO,原文链接 在MySQL中使用explain查询SQL的执行计划 目录 一.什么是执行计划 二.如何分析执行计划 一.什么是执行计划 要对执行计划有个比较好的理解,需要先对MySQ ...

  5. UCOSii和Linux的区别和联系

    UCOSii和Linux的区别和联系 想通过UCOSii来理解Linux的系统架构,故参考一些资料,简单整理了一下UCOSii和Linux的区别和联系,以此来更好的学习Linux. 其具体对比如下: ...

  6. UVA - 11927 Games Are Important (SG)

    Description  Games Are Important  One of the primary hobbies (and research topics!) among Computing ...

  7. 【Git】Git Bash

    版本控制工具Git Bash软件 安装 git.exe  即可

  8. 多线程Java Socket编程示例

    package org.merit.test.socket; import java.io.BufferedReader; import java.io.IOException; import jav ...

  9. 20155321 《信息安全系统设计》课堂测试(ch06)

    20155321 <信息安全系统设计>课堂测试(ch06) (单选题|1分)下面代码中,对数组x填充后,采用直接映射高速缓存,所有对x和y引用的命中率为() A .1 B .1/4 C . ...

  10. PHP 注释规范

    注释在写代码的过程中非常重要,好的注释能让你的代码读起来更轻松,在写代码的时候一定要注意注释的规范. php里面常见的几种注释方式: 1.文件头的注释,介绍文件名,功能以及作者版本号等信息 /** * ...