JavaScript极简入门教程(三):数组
阅读本文需要有其他语言的编程经验。
在 JavaScript 中数组是对象(而非线性分配的内存)。
通过数组 literal 来创建数组:
var empty = [];
var numbers = [
'zero', 'one', 'two', 'three', 'four',
'five', 'six', 'seven', 'eight', 'nine'
];
empty[1] // undefined
numbers[1] // 'one'
empty.length // 0
numbers.length // 10
数组有一个属性 length(而对象没有)表示数组的长度。length 的值为数组的最大整数属性名加 1:
var myArray = [];
myArray.length; // 0
myArray[1000000] = true;
myArray.length; // 1000001
我们可以直接修改 length:
length 被改大不会导致分配更多的空间
length 被改小,所有下标大于或等于 length 的属性被删除
由于数组也是对象,因此可以用 delete 来删除数组中的元素:
delete number[2];
number[2] === undefined;
这样删除数组中的元素将留下一个空洞。
JavaScript 提供了一套数组的方法,这些方法被放在 Array.prototype 中(这里就不详细介绍了)。
相关推荐
-
JavaScript极简入门教程(二):对象和函数
阅读本文需要有其他语言的编程经验. JavaScript 中的简单类型包括: 1.数字 2.字符串 3.布尔(true 和 false) 4.null 5.undefined 此外的其他类型均是对象(我们不要被 typeof 操作符的返回值所迷惑),例如: 1.函数 2.数组 3.正则表达式 4.对象(对象自然也是对象) 对象基础 在 JavaScript 中,对象是属性的集合(对象为关联数组),每个属性包括: 1.属性名,必须为字符串 2.属性值,可以为除了 undefined 之外的任何值
-
JavaScript极简入门教程(一):基础篇
阅读本文需要有其他语言的编程经验. 开始学习之前 大多数的编程语言都存在好的部分和差的部分.本文只讲述 JavaScript 中好的部分,这是因为: 1.仅仅学习好的部分能够缩短学习时间 2.编写的代码更加健壮 3.编写的代码更加易读 4.编写的代码更加易于维护 弱类型和强类型 通常来说,越早的修复错误,为之付出的代价就越小.强类型语言的编译器可以在编译时检查某些错误.而 JavaScript 是一门弱类型语言,其解释器无法检查类型错误,但实践表明: 1.强类型能够避免的错误并不是那些关键性错误
-
JavaScript极简入门教程(三):数组
阅读本文需要有其他语言的编程经验. 在 JavaScript 中数组是对象(而非线性分配的内存). 通过数组 literal 来创建数组: 复制代码 代码如下: var empty = []; var numbers = [ 'zero', 'one', 'two', 'three', 'four', 'five', 'six', 'seven', 'eight', 'nine' ]; empty[1] // undefined numbers[1] // 'one' empty
-
Pytorch学习笔记DCGAN极简入门教程
目录 1.图片分类网络 2.图片生成网络 首先是图片分类网络: 重点是生成网络 每一个step分为三个步骤: 1.图片分类网络 这是一个二分类网络,可以是alxnet ,vgg,resnet任何一个,负责对图片进行二分类,区分图片是真实图片还是生成的图片 2.图片生成网络 输入是一个随机噪声,输出是一张图片,使用的是反卷积层 相信学过深度学习的都能写出这两个网络,当然如果你写不出来,没关系,有人替你写好了 首先是图片分类网络: 简单来说就是cnn+relu+sogmid,可以换成任何一个分类网络
-
Nodejs极简入门教程(三):进程
Node 虽然自身存在多个线程,但是运行在 v8 上的 JavaScript 是单线程的.Node 的 child_process 模块用于创建子进程,我们可以通过子进程充分利用 CPU.范例: 复制代码 代码如下: var fork = require('child_process').fork; // 获取当前机器的 CPU 数量 var cpus = require('os').cpus(); for (var i = 0; i < cpus.length; i++) { // 生
-
Golang极简入门教程(三):并发支持
Golang 运行时(runtime)管理了一种轻量级线程,被叫做 goroutine.创建数十万级的 goroutine 是没有问题的.范例: 复制代码 代码如下: package main import ( "fmt" "time" ) func say(s string) { for i := 0; i < 5; i++ { time.Sleep(100 * time.Millisecond)
-
Golang极简入门教程(一):基本概念
安装 Golang 在 http://golang.org/dl/ 可以下载到 Golang.安装文档:http://golang.org/doc/install. Hello Go 我们先创建一个文件 hello.go: 复制代码 代码如下: package main import "fmt" func main() { fmt.Printf("hello Golang\n"); } 执行此程序: 复制代码 代码如下: go run hello.g
-
Nodejs极简入门教程(一):模块机制
JavaScript 规范(ECMAScript)没有定义一套完善的能适用于大多数程序的标准库.CommonJS 提供了一套 JavaScript 标准库规范.Node 实现了 CommonJS 规范. 模块基础 在 Node 中,模块和文件是一一对应的.我们定义一个模块: 复制代码 代码如下: // circle.js var PI = Math.PI; // 导出函数 area exports.area = function(r) { return PI * r * r; }
-
Golang极简入门教程(四):编写第一个项目
workspace Golang 的代码必须放置在一个 workspace 中.一个 workspace 是一个目录,此目录中包含几个子目录: 1.src 目录.包含源文件,源文件被组织为包(一个目录一个包) 2.pkg 目录.包含包对象(package objects) 3.bin 目录.包含可执行的命令 包源文件(package source)被编译为包对象(package object),命令源文件(command source)被编译为可执行命令(command executable).
-
Golang极简入门教程(二):方法和接口
方法 在 Golang 中没有类,不过我们可以为结构体定义方法.我们看一个例子: 复制代码 代码如下: package main import ( "fmt" "math" ) type Vertex struct { X, Y float64 } // 结构体 Vertex 的方法 // 这里的方法接收者(method receiver)v 的类型为 *Vertex func (v *Vertex) Abs() float64
随机推荐
- Angular2学习笔记——详解路由器模型(Router)
- 详解AngularJS用Interceptors来统一处理HTTP请求和响应
- Linux Nginx下SSL证书安装方法及WordPress CDN配置
- 详解Spring中Bean的生命周期和作用域及实现方式
- 快速了解hibernate配置文件与映射文件
- Mvc动态注册HttpModule详解
- 机器学习python实战之决策树
- Phonegap使用拍照功能时的内存问题
- 分享一个Android设置圆形图片的特别方法
- iOS多线程应用开发中自定义NSOperation类的实例解析
- 用Javascript实现锚点(Anchor)间平滑跳转
- Spring Boot快速搭建Spring框架教程
- 基于JQuery的一句话搞定手风琴菜单
- Ext JS 4官方文档之三 -- 类体系概述与实践
- CentOS下停止Tomcat运行脚本代码
- Android开发中TextView 实现右上角跟随文本动态追加圆形红点
- 使用mint-ui实现省市区三级联动效果的示例代码
- js中如何完美的解析数据
- Java使用反射操作数组示例
- nodejs 生成和导出 word的实例代码