JS-变量

一、关于变量
(一)JS变量的规则:
1.必须以字母(严格区分大小写)、下划线或美元符号开头,后面可以跟字母、下划线、美元符号和数字。如下:
正确:

1 mysum
2 _mychar
3 $numa1

错误:

1 6num //开头不能用数字
2 %sum //开头不能用除(_ $)外特殊符号,如(% + /等)
3 sum+num //开头中间不能使用除(_ $)外特殊符号,如(% + /等)

2.变量名区分大小写,如:A与a是两个不同变量。
3.不允许使用JavaScript关键字和保留字做变量名。
js中的关键字可用于表示控制语句的开始或结束,或者用于执行特定操作等。按照规则,关键字也是语言保留的,不能用作标识符。以下就是ECMAScription的全部关键字:

  break、else、new、var、case、finally、return、void 、catch、for 、switch、while、continue、function、this、with 、default、if、throw、delete、 in 、try 、do 、instranceof、typeof

ECMA还描述了另外一组不能用作标识符的保留字。尽管保留字在这门语言中还没有任何特定的用途,但它们有可能将来被用作关键字。下面是ECMA第3版定义的全部保留字:

abstract 、 enum 、int 、short 、boolean、export、interface、static、 byte、extends、long 、super 、char 、final、native、synchronized 、
class、float、package、throws、const、goto、private、transient、debugger、implements、protected 、volatile、double、import、public

定义变量不用立即赋值:
可以同时声明多个变量,用逗号(,)隔开
同一变量可以多次声明,(声明的位置不同使用范围等意义不同)

var x;
x = 5-3;
alert(x);

var x = 3; var y = 4; var z = 5;等同于var x = 3, y = 4, z = 5;  var x = 10;x = 16;function a(){  x = 15;}

(二)变量的声明
    1.使用var多次声明同一个变量,是合法的,不会因此语法的错误;重复的声明并初始化变量值,只是相当于普通的赋值语句。
    2.读取一个未声明的变量值,js会产生一个错误。
    3.尝试给一个未经var 声明的变量赋值,js会隐式声明该变量,隐式声明的变量被创建为全局变量。
    4.无论是全局变量还是局部变量,最好都使用var进行声明。

(三)全局变量和局部变量 ------变量的作用域
  全局(global)变量的作用域是全局的,即在js代码中处处有定义。
  局部(local)变量的作用域是局部性的,只在特定的范围内,比如函数内部定义的变量,函数的参数变量,这些变量的作用范围是局限在函数的内部的。
   1.声明全局变量可以不适用var 关键字,局部变量则必须使用var关键字来声明,为了避免不必要的麻烦,养成所有的变量都使用var关键字来声明。
   2.变量的定义没有块级作用域 --在函数中声明的所有的变量,无论是在哪里声明的(只要是在函数内部),在整个的函数中都是有声明的

(四)未定义的变量和未赋值的变量
  未定义的变量:指没有声明并且没有初始化的变量,尝试读取这种变量会产生一个错误。注: 这里要区分开没有声明但初始化了的变量,这种变量不会引起错误,程序会在全局变量中隐式的声明该类变量。
  未赋值的变量:指已经声明但没有初始化的变量,尝试读取该类变量将得到一个默认值undefined.

(五)JS三大经典变量命名法
1.匈牙利命名法:--通过在变量名前面添加相应小写字母的符号标示作为前缀,标示出变量的作用域,类型等,前缀后面是一个或多个单词组合,单词描述了变量的用途,如i表示的是整数,s表示的是字符串。示例:

1 var sUserName = ‘css8‘;
2 var iCount = 0;

2.骆驼式/驼峰命名法 --混合使用大小写字母来构成变量的名称。示例:

1 var printLoadTemplates;//名称首字母小写,其他每个单词的首字母大写
2 var print_load_templates;//下划线法,每个单词用一个下划线标记

3.帕斯卡命名法 --和驼峰命名法类似,但是,驼峰第一个单词首字母小写,而帕斯卡命名法第一个单词首字母也大写。

(六)特殊数值常量:(number)

1 Infinity 无穷大的特殊值
2 NaN 非数字值
3 Number.MAX_VALUE 可表示的最大数字
4 Number.MIN_VALUE 可表示的最小数字
5 Number.NaN 非数字值
6 Number.POSITIVE_INFINITY 正无穷大
7 Number.NEGATIVE_INFINITY 负无穷大
时间: 2024-07-30 05:43:23

JS-变量的相关文章

js 变量提升+方法提升

<!DOCTYPE html> <html> <head lang="en"> <meta charset="UTF-8"> <title></title> <script type="text/javascript"> var a = 100; function t() { alert(a); var a = 10; } t(); //输出结果为undefine

js变量作用域

? 1 2 3 4 5 6 7 8 9 10 for(var i =0;i<100;i++)   {        } alert(i);//100 if(true){     var i="91d";   } alert(i);//91d ? 1 2 3 4 5 6 function add(ad1,ad2){   sum=ad1+ad2;   return sum;//如果没有用var声明局部变量,会提升为全局的变量 } alert(add(3,5)); alert(&quo

js变量详解

1.变量的声明 1)js变量有局部变量和全局变量之分,无论是局部变量还是全局变量最好都使用var声明 2)如果没有使用var声明一个变量,js会隐式声明该变量,且该变量为全局变量 3)可以使用var多次声明一个变量 4)尝试读取一个未声明的变量,js会报错 5)尝试读取一个未初始化的变量,js将得到一个默认值undefined 举例: var i = 12; var i = 34; //不会报错,只是对i进行重新赋值 alert(i); //得到34 j = 56; //隐式声明一个全局变量 a

JS 变量详解

关于JS中的变量 JS中的变量是松散类型的,可以存储任何类型的数据. JS变量松散类型的本质,决定了变量只是在特定时间用于保存特定值的一个名字而已. 由于不存在定义某个变量必须要保存何种数据类型的值的规则,变量的值及其数据类型可以在脚本的生命周期内改变. 用var关键字声明的变量,未经初始化时,保存的是一个特殊的值——undefined. 变量初始化仅仅是给变量赋一个值. 可以在一条语句中声明多个变量,初始化或不初始化皆可,变量之间用逗号隔开. 用var关键字声明的变量是定义该变量的作用域中的局

js变量以及其作用域详解

一.变量的类型  Javascript和Java.C这些语言不同,它是一种无类型.弱检测的语言.它对变量的定义并不需要声明变量类型,我们只要通过赋值的形式,可以将各种类型的数据赋值给同一个变量.例如: i=100;//Number类型 i="variable";//String类型 i={x:4};//Object类型 i=[1,2,3];//Array类型 JS的这种特性虽然让我们的编码更加灵活,但也带来了一个弊端,不利于Debug,编译器的弱检测让我们维护冗长的代码时相当痛苦. 二

jsp中把js变量赋给java变量,或者将java变量赋给js变量怎么做?

在jsp中经常会遇到把js变量赋给java变量,或者将java变量赋给js变量的情况,在此将通用的处理方法小结如下: java变量传给js好办,var a=”<%=javaParam%>“;注意要将引号”"加上: js变量给java稍微复杂点,一般是在表单中用一个的隐藏表单元素,然后在脚本中将js变量值赋给它: var jsParamValue=’aaaa’;form1.jsParam.value=jsParamValue; 然后就可以request.getPrameter(“jsP

详解js变量、作用域及内存

详解js变量.作用域及内存 来源:伯乐在线 作者:trigkit4 原文出处: trigkit4 基本类型值有:undefined,NUll,Boolean,Number和String,这些类型分别在内存中占有固定的大小空间,他们的值保存在栈空间,我们通过按值来访问的. JavaScript 1 2 (1)值类型:数值.布尔值.null.undefined. (2)引用类型:对象.数组.函数. 如果赋值的是引用类型的值,则必须在堆内存中为这个值分配空间.由于这种值的大小不固定(对象有很多属性和方

JavaScript学习笔记——js变量的布尔值

typeof(1): numbertypeof(NaN): numbertypeof(Number.MIN_VALUE): numbertypeof(Infinity): numbertypeof("123"): stringtypeof(true): booleantypeof(window): objecttypeof(Array()): objecttypeof(function(){}): functiontypeof(document): objecttypeof(null)

【repost】 JS变量重复声明以及忽略var 声明的问题及其背后的原理

JS的容错率很高,一些其他语言常见的小错误JS都能大度得包容,比如给一个方法传入超出预计的参数.在声明变量之前使用该变量(变量的声明提升解决了这个问题)等等,这里我们就要解剖一下JS变量重复声明以及当我们忽略var使用 a=2来声明变量时a为全局变量的问题: [javascript] view plain copy //第一段代码 var a = 2; var a = 3; alert(a);//3 //第二段代码 <span style="font-size:18px;">

js变量及其作用域

Javascript和Java.C这些语言不同,它是一种无类型.弱检测的语言.它对变量的定义并不需要声明变量类型,我们只要通过赋值的形式,可以将各种类型的数据赋值给同一个变量 一.js变量的类型及申明方式 var i=100;//Number类型 var i="variable";//String类型 var i=false;//boolen类型 var i={x:4};//Object类型 var i=[1,2,3];//Array类型 前三种是基本类型,后两种为引用类型 1.引用类