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. 优化方法:SGD,Momentum,AdaGrad,RMSProp,Adam

    参考: https://blog.csdn.net/u010089444/article/details/76725843 1. SGD Batch Gradient Descent 在每一轮的训练过 ...

  2. Java日志框架中真的需要判断log.isDebugEnabled()吗?

    在项目中我们经常可以看到这样的代码: if (logger.isDebugEnabled()) { logger.debug(message); } 简单来说,就是用isDebugEnabled方法判 ...

  3. html中radio、checkbox选中状态研究

    我们在web页面开发中经常需要让单选框.复选框进行选中或者不选中的操作, 我们可以在元素中添加checked属性 或者添加checked="checked" 都可以让某个选项默认选 ...

  4. 愤怒的小鸟【$DP$优化】

    卡常的状压\(DP\),愤怒的小鸟. 其实本来是个很水的状压\(DP\),但因为最后三个点\(n=18\),成功地把我的不可能达到的下界为\(\Omega(2^nn^2)\),紧确的上界为\(O(2^ ...

  5. C语言程序设计I—第五周教学

    第五周教学总结(29/9-7/10) 本周为国庆节放假,周六周日提前补课,计算机专业已补,软件专业未补,由于国庆放假冲课不补,因此,软件专业在整体进度上落后计算机一次课,估计我要特别抽时间才能将进度拉 ...

  6. 记录一下安装 mysql 的踩坑之路

    坑点: 1.旧的mysql没有删除干净.在安装mysql的时候,没有注意到,在输入 “mysqld install” 指令时跳出来 exits,存在于另一个文件夹之中,这影响了后来的很多操作,包括ro ...

  7. TinkerPop简述

    ThinkerPop Apache 顶级项目 概述 TinkerPop是一个面向实时事务处理(OLAP)以及批量.分析型(OLTP)的开源的图计算框架.TinkerPop是一个可以应用于不同图形数据库 ...

  8. python 集合总结

    ''' 集合:1:他是无序的,他是不重复的. 2,他里面的元素必须是可哈希的. int str bool ()但是它本身是不可哈希的. 3,集合不能更改里面的元素. 4,集合可以求交集,并集,差集,反 ...

  9. Scratch 3.0 版本比较

    新年伊始MIT 就正式 发布了Scratch最新3.0版 ,以 HTML5.0 为基础的版本! 本文就来带看看3.0版有哪些更新的地方. 下图是进入后第一个画面,跟Scratch 2.0 很像,熟悉的 ...

  10. 2017-2018-2 20155327『网络对抗技术』Exp5:MSF基础应用

    2017-2018-2 20155327『网络对抗技术』Exp5:MSF基础应用 基础问题回答 用自己的话解释什么是exploit,payload,encode exploit:使用者利用漏洞进行攻击 ...