javascript如何声明变量?

JavaScript014

javascript如何声明变量?,第1张

以下答案应该是比较全的,为个人总结原创。规则:js中,变量名必须以ASCII字符或下划线(_)开头,第1个字母不能是数字,但其后可以是数字或其他字母。不能与JavaScript中的保留字相同。 规范:(1)从变量名上应该可以看出变量的作用。(2) 如果变量名是一个单独的单词,如“date”,那么该变量名应该全部使用小写;如果变量名是两个或多个单词组成,那么从第二个单词开始,后面的所有单词的首字母都必须大写,如“theDate”、“otherDate”等。 当然,以上规范只是一个“约定”而已,可以遵守,也可以不遵守。注意:JavaScript与其他程序语言之间有些区别,其他程序语言大多需要为变量指定一个数据类型,例如将一个变量指定为整数型,那么这个变量就只能存储整数型数据,不可以存储浮点型或其他类型的数据。而JavaScript中的变量是没有类型(notype)的,这就意味着在JavaScript中的变量可以是任何一种数据类型。例如先将一个数字型数据赋给一个变量,在程序运行过程中,再将一个布尔型数据赋给同一个变量,这在JavaScript中是合法的。 在JavaScript中,使用一个变量之前,必须要先定义该变量。只有在定义了一个变量之后,系统才会准备一个内存空间来存储这个变量的值,而程序员可以通过变量名来存储或读取变量的值。在JavaScript中可以使用关键字var来定义一个变量。一个var关键字也可以同时定义多个变量,变量之间用逗号隔开。在定义了变量之后,如果没有为变量赋值,那么该变量的初始值为undefined。JavaScript支持在定义变量的同时为变量指定初始值。变量可以根据其有效范围分为全局变量与局部变量两种。其中全局(global)变量从定义开始,到整个JavaScript代码结束为止,都可以使用;而局部(local)变量只有在函数内部里才生效。这里值得注意的是,在函数体内使用var关键字定义的变量为局部变量,如果要在函数体内定义全局变量,则不能使用var关键字,只需要直接给变量赋值即可。JavaScript中局部变量的有效范围与其他语言中局部变量的有效范围不同,JavaScript中只要在函数体内定义了局部变量,该局部变量就会在整个函数体内有效,而不是从定义局部变量的那行代码开始起效。

并没有四种,只有两种:

使用构造函数:var arr = new Array()

使用字面量形式:var arr = [1,2,3]

其他形式只是对这两种形式的不同用法;

建议买本高程的书看吧,里面介绍的既详细又系统。

+++++++++++++++++

补充:

其实还有一种方式: var arr = Array()也是构造函数声明方式的简写

这三种声明方式实际上并没有什么区别,可以根据不同需求来.

比如:

声明一个长度200的数组,元素不确定, 使用构造函数比较好. var arr = Array(200)

声明一个有五个元素的数组,但第四个元素不确定,可以用字面量. var arr = ["apple","bannar","pear",,"orange"]

当然最常用的就是字面量形式了.详细Array object

翻书不方便,平时可以多查查MDN,类似于文档,但比W3SCHOOL靠谱详细的多.但对于对象来说,两种声明方式是有点不太一样的,具体的你可以去MDN上查找相关资料.

下面最后两种很少见,也不要用,书上都没教,纯粹这样也是宣告(声明)数组的合法语句而已:

var a = []

var b = new Array()

var c = Array()

var d = Object.create(Array.prototype)

a.push(1)

b.push(2)

c.push(3)

d.push(4)

console.log(a)

console.log(b)

console.log(c)

console.log(d)

要用var a = []而不要用var a = new Array()这种,是因为第二种比较慢,而且它如果只传一个参数时,与传两个参数的行为不同,容易在使用上造成错误。

有些人从其他语言(例如Java)学过来学或教JS的人会认为像var a = new Array(10)可以预先分配好空间,之后作处理方便。但JS是脚本语言,数组的宣告(声明)与执行方式是不同的。

首先后者是指函数声明,前者是指函数表达式,他们之间的区别是后者会在代码执行之前被JS解释器加载到作用域中,这样一来就可以在编程时在定义函数之前调用这个函数,此法是有效的;而前者则是在代码执行到那一行时候才会有定义,此外函数表达式是创建了一个匿名函数,然后将匿名函数赋值给一个变量。