下面代码要用到之前博客中的代码,在执行的时候请将其中的代码引入,否则报错。
/*******************************************************************************
* 数组
*******************************************************************************/
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 精粹第五篇(方法)
分享到:
相关推荐
第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编程语言的书籍或教程资料。由于提供的部分内容主要为重复的版权声明与电子书下载站点链接,并没有直接包含具体的技术细节或者章节内容,我们将...
《JavaScript语言精粹修订版》是一本深入探讨JavaScript编程的权威书籍,旨在帮助读者掌握这门广泛应用于Web开发的关键语言。书中的内容丰富多样,涵盖了从基础语法到高级特性的全面讲解,对于想要提升JavaScript...
JavaScript语言精粹 ...第4章:函数 第5章:继承 第6章:数组 第7章:正则表达式 第8章:方法 第9章:代码风格 第10章:优美的特性 附录A:糟粕 附录B:鸡肋 附录C:JSlint 附录D:语法图 附录E:JSON 索引
JavaScript语言精粹 ...第4章:函数 第5章:继承 第6章:数组 第7章:正则表达式 第8章:方法 第9章:代码风格 第10章:优美的特性 附录A:糟粕 附录B:鸡肋 附录C:JSlint 附录D:语法图 附录E:JSON 索引
第4 章 函数 函数对象 函数字面量 调用 参数 返回 异常 扩充类型的功能 递归 作用域 闭包 回调 模块 级联 柯里化 记忆 第5 章 继承 伪类 对象说明符 原型 函数化 部件 第6 章 数组 数组字面量 长度 删除 枚举 容易...
4. **web前端开发笔试集锦(javascript篇)** - **核心知识点**: - 面试中常见的JavaScript理论题目。 - 解题思路与答案解析。 - 实战经验分享。 5. **基于MVC的JavaScript Web富应用开发** - **核心知识点**:...
JavaScript中的函数调用有四种主要方式:方法调用模式、函数调用模式、构造器调用模式和apply调用模式。每种模式都有其特定的使用场景和特点,特别是对于`this`和`arguments`这两个关键参数的处理。 1. **方法调用...
【标题】: TypeScript 面试题精粹 【描述】: TypeScript 是一种强大的静态类型编程语言,它在 JavaScript 的基础上增加了类型系统、模块化和接口等特性,为大型项目提供了更好的可维护性和开发效率。本资源集合包含...