从零开始学_JavaScript_系列(24)——查看对象属性,合并数组

(35)查看对象是否有某个属性(转)

来源:

http://www.cnblogs.com/snandy/archive/2011/03/04/1970162.html

 

内容:

两种方式,但稍有区别

1,in 运算符


1

2

3


var obj = {name:'jack'};

alert('name' in obj); // --> true

alert('toString' in obj); // --> true

可看到无论是name,还是原形链上的toString,都能检测到返回true。

 

2,hasOwnProperty 方法


1

2

3


var obj = {name:'jack'};

obj.hasOwnProperty('name'); // --> true

obj.hasOwnProperty('toString'); // --> false

原型链上继承过来的属性无法通过hasOwnProperty检测到,返回false。

需注意的是,虽然in能检测到原型链的属性,但for in通常却不行。

当然重写原型后for in在IE9/Firefox/Safari/Chrome/Opera下是可见的。见:forin的缺陷

 

 

 

 

(36)合并两个数组

①将一个对象放到数组里,是arr.push(obj)

 

②将两个数组合并起来是:

var arr3 = arr1.concat(arr2);

返回值是合并好的数组

 

 

 

 

时间: 2024-09-20 05:43:20

从零开始学_JavaScript_系列(24)——查看对象属性,合并数组的相关文章

从零开始学_JavaScript_系列(20)——js系列<7>(函数原型的两种声明方式、函数的作用域)

  (20)函数的原型 ①Object.create(obj) 根据原型obj创建一个对象: 例如: var obj = {     a: 1 } var o1 = Object.create(obj); console.log(obj); console.log(o1); 输出为: Object {a: 1} Object {}   ②使用构造函数方法: 使用构造函数,通过new来创建一个实例(之前有,这里略)   ③ ①和②之间的区别: 通过②的继承: var obj = {     a:

从零开始学_JavaScript_系列(15)——js系列<4>(数值、字符串、对象、数组、函数、日期的基本方法)

注:$("#a").text( 内容 ) 是jquery的方法,可以理解为在 <div id="a"></div>  添加内容变为: <div id="a">内容</div> (6)数值 注意,Math的M需要大写 ①绝对值:Math.abc(x)         获得x的绝对值(之后的意思都类似,非特殊不再说明)   ②求四舍五入后结果: Math.round(1.9) = 2; Math.rou

从零开始学_JavaScript_系列(七)——jquery(复选框及互斥、div块、修改css、标签数组、ajax连续加载)

(17)查看复选框是否被选中 复选框为: <input type="checkbox" name="yingmingliu"id="yingmingliu" value="yingmingliu"/> jq语法为: $("#yingmingliu").is(':checked') 如果选中,返回true,如果没有被选中,返回false.   查看复选框的值: $("#yingmingl

从零开始学_JavaScript_系列(九)——dojo(2)(AJAX、时间控件、鼠标事件、样式修改、事件移除、消息发布订阅)

如果没有接触过dojo,建议阅读: http://blog.csdn.net/qq20004604/article/details/51028702 里面介绍了如何加载dojo. 关于dojo的下载,请查看: https://dojotoolkit.org/download/ 建议下载FULL SOURCE版 如果需要讨论,请评论.或者站内信,我会尽快回复. (21)和(22)写的不好,跳过. (23)AJAX异步加载 插件:dojo/request 参数:request 语法(get): re

从零开始学_JavaScript_系列(八)——js系列&amp;lt;2&amp;gt;(事件触发顺序、文本读取、js编写ajax、输入验证、下拉菜单)

(20)事件触发的顺序 假如文档中有多个脚本(例如自动执行的脚本),那么他们执行是有一定的顺序的(在HTML文档之中): ①先执行<head>内的<script>标签.因此,这里的js脚本通常是嵌入代码.指向JS文件,可以在这里定义其后要使用的函数: ②其次是执行<body>内的script标签: ③然后是执行触发的脚本内容,例如在button按钮上添加的onclick=""命令,就是在点击后触发的. (21)文档对象模型(DOM) 文档对象模型(D

从零开始学_JavaScript_系列(十)——dojo(3)(GRID表格创建、样式、列宽可变、排序、过滤器)

如果没有接触过dojo,建议阅读: http://blog.csdn.net/qq20004604/article/details/51028702 里面介绍了如何加载dojo.(当然,本篇也考虑了未使用过dojo的人,可以只阅读该链接关于dojo下载的部分,以获得dojo) 关于dojo的下载,请查看: https://dojotoolkit.org/download/ 建议下载FULL SOURCE版 如果需要讨论,请评论.或者站内信,我会尽快回复. (34)gridx gridx系列插件并

从零开始学_JavaScript_系列(五)——dojo(基础,动画移动,重力模拟,动画合并,添加标签)

关于dojo的下载,请查看: https://dojotoolkit.org/download/ 建议下载FULL SOURCE版 如果需要讨论,请评论.或者站内信,我会尽快回复.   (1)加载 ①首先,先设置   <script>      //替代使用data-dojo-config,我们创建一个dojoConfig对象(是个设置)在我们调用dojo.js之前,他们功能相同      //这比通过一大堆设置来说,更易阅读         var dojoConfig = {       

从零开始学_JavaScript_系列(12)——jquery&amp;lt;2&amp;gt;(高度自适应,哈希地址及检测,单页面技术)

前注:我在练习的时候,函数命名比较随意,以修改起来简单的简短无意义函数名为主,实际使用时,请使用更易阅读.规范的命名方式 (ps:这篇算是上周的) (26)让某块随着浏览器的高度变化而自动变化 假设该块的标签名为section 于是: function ge() { var m =document.documentElement.clientHeight; $("section").css("height",m-100); } window.onresize = f

从零开始学_JavaScript_系列(23)——css&amp;lt;5&amp;gt;滚动条,Tab,spellcheck,img放置

(21)滚动条的美化 for chrome内核: /* 有这行才有效,滚动条的宽度 */ ::-webkit-scrollbar { width: 12px; } /* 滚动条的背景 */ ::-webkit-scrollbar-track { -webkit-box-shadow: inset 0 06px rgba(0,0,0,0.3); -webkit-border-radius: 10px; border-radius: 10px; } /*滚动条*/ ::-webkit-scrollb