`
truth99
  • 浏览: 62912 次
  • 性别: Icon_minigender_1
社区版块
存档分类
最新评论

javascript 精粹第四篇(数组)

阅读更多

下面代码要用到之前博客中的代码,在执行的时候请将其中的代码引入,否则报错。

/*******************************************************************************
 * 数组
 *******************************************************************************/
console.log('************************************************************************长度');
//每个数组都有一个length属性。并且没有上界,如果你用大于或等于当前length的数字做为下标累存储一个元素,
//那么length值会被增大以容纳新元素,不会发生数组下标越界错误。
var myArray = [];
console.log(myArray.length);
myArray[10000] = true;
console.log(myArray.length);
//你可以直接设置length的值。设置更大的length不会给数组分配更多的空间。
//而把length设小将导致所有下标大于等于新length的属性被删除:
var numbers = ['zero','one','two','three','four'];
console.log('设置length长度之前numbers[4]为:',numbers[4]);
numbers.length = 3;
console.log('设置length长度之后numbers[4]为:',numbers[4]);
console.log('************************************************************************删除');
//由于数组也是对象,所以delete运算符可以用来从数组中移除元素,但移除后会留下一个空洞。
//	delete numbers[1];
//	var str = '';
//	for(var i = 0;i<numbers.length;i++){
//		str += numbers[i]+' ';
//	};
//console.log(str);
//可以这个splice方法。
//numbers.splice(start, deletecount);
//start 表示从哪个下标开始删除,deletecount表示删除几个


console.log('************************************************************************数组和对象容易混淆的地方');
//js对于数组和对象的区别是混乱的,typeof运算符判断数组的类型是‘object’,这没有任何意义。
//我们想要判断数组还是对象只能自己定义一个函数来弥补这个缺陷:
//var is_array = function(value){
//	return value && typeof value === 'object' && value.constructor === Array;
//};
//遗憾的是,它在识别从窗口(window)或帧(frame)里构造的数组时会失败,有一个更好的办法去判断一个对象是否为数组:
var is_array = function(value){
	return Object.prototype.toString.apply(value) === '[object Array]';
};
var arr_test = [1,3,4];
var obj_test = {};
console.log('数组:',is_array(arr_test));
console.log('对象:',is_array(obj_test));
//console.log(arr_test.length);
//数组也是对象,所以可以给数组增加属性,但增加的属性不会影响数组的length的值。
//arr_test.total = 8;
//console.log(arr_test.length);


未完...见javascript 精粹第五篇(方法)
分享到:
评论

相关推荐

    JavaScript语言精粹

    第4章 函数  4.1 函数对象  4.2 函数字面量  4.3 调用  4.4 参数  4.5 返回  4.6 异常  4.7 给类型增加方法  4.8 递归  4.9 作用域  4.10 闭包  4.11 回调  4.12 模块  4.13 级联  4.14 ...

    JavaScript语言精粹3

    根据给定的信息,“JavaScript语言精粹3”似乎是一本关于JavaScript编程语言的书籍或教程资料。由于提供的部分内容主要为重复的版权声明与电子书下载站点链接,并没有直接包含具体的技术细节或者章节内容,我们将...

    JavaScript语言精粹修订版_js_share_

    《JavaScript语言精粹修订版》是一本深入探讨JavaScript编程的权威书籍,旨在帮助读者掌握这门广泛应用于Web开发的关键语言。书中的内容丰富多样,涵盖了从基础语法到高级特性的全面讲解,对于想要提升JavaScript...

    JavaScript语言精粹(中文版)part1

    JavaScript语言精粹 ...第4章:函数 第5章:继承 第6章:数组 第7章:正则表达式 第8章:方法 第9章:代码风格 第10章:优美的特性 附录A:糟粕 附录B:鸡肋 附录C:JSlint 附录D:语法图 附录E:JSON 索引

    JavaScript语言精粹(中文版PDF)part2

    JavaScript语言精粹 ...第4章:函数 第5章:继承 第6章:数组 第7章:正则表达式 第8章:方法 第9章:代码风格 第10章:优美的特性 附录A:糟粕 附录B:鸡肋 附录C:JSlint 附录D:语法图 附录E:JSON 索引

    《JavaScript语言精粹[修订版]》高清版_2012.09_【蝴蝶书】_172页完整版

    第4 章 函数 函数对象 函数字面量 调用 参数 返回 异常 扩充类型的功能 递归 作用域 闭包 回调 模块 级联 柯里化 记忆 第5 章 继承 伪类 对象说明符 原型 函数化 部件 第6 章 数组 数组字面量 长度 删除 枚举 容易...

    Javascript完全自学宝典

    4. **web前端开发笔试集锦(javascript篇)** - **核心知识点**: - 面试中常见的JavaScript理论题目。 - 解题思路与答案解析。 - 实战经验分享。 5. **基于MVC的JavaScript Web富应用开发** - **核心知识点**:...

    js函数调用常用方法详解

    JavaScript中的函数调用有四种主要方式:方法调用模式、函数调用模式、构造器调用模式和apply调用模式。每种模式都有其特定的使用场景和特点,特别是对于`this`和`arguments`这两个关键参数的处理。 1. **方法调用...

    面样本

    【标题】: TypeScript 面试题精粹 【描述】: TypeScript 是一种强大的静态类型编程语言,它在 JavaScript 的基础上增加了类型系统、模块化和接口等特性,为大型项目提供了更好的可维护性和开发效率。本资源集合包含...

Global site tag (gtag.js) - Google Analytics