在js里面什么叫做“标识符”呢?
我的理解就是一切可以由我们自己来命名的都可以被称为"标识符"。比如以后要说道的变量,函数名,对象名等。
标识符的命名或者说通俗点-----标识符该如何取名字呢?标识符的命名是有一定的规则的,虽然js比较自由,但也不能让你为所欲为,js标识符规则:
一、以字母、_、或$开头
二、开头之后,后边可以是字母、_、$、数字
三、不能是JavaScript里面的关键字和保留字
四、区分大小写,注意,js是区分大小写的
五、标识符可以用来表示变量、函数名、对象名、属性名等
六、还有一点要补充的,但也不是强制的,就是你命名的标识符要有意义,当然一个变量你可以给它起名a,b,cd,e,但是过几天你再看的时候就是一头雾水了。
举例:
userName,pwd是合法的
3email是不合法的,因为标识符不能以数字开头
js里面的字面量概念
所有在程序中出现的数值就叫字面量,又叫直接量。注意是数值,不单单包括数字,也就是说字面量有很多类型,我大致罗列一下:
数字字面量:比如99,-3
字符串字面量:'乐之者java'或者"乐之者---js和jquery教程",js里面字符串可以用单引号表示,也可以用双引号表示,但是一定要是英文状态下的单引号和双引号。
布尔字面量:就两个,true,false
对象字面量:比如null
正则表达式字面量:比如/abc/g
数组字面量:比如[1,2,3,4]
js里面的关键字
前面我说标识符的时候写了一句标识符的命名不能与关键字一样,那么js里面的关键字是什么?又有哪些呢?只有知道了大概有哪些,我在命名标识符的时候,才能避免踩雷啊。
js里面的关键字是什么呢?
关键字一般用于执行特定的操作,比如返回数值的return,声明变量的var等,关键字是js语言已经开始使用的一些单词。
js里面的关键字有哪些呢?具体见下图吧:
保留字的概念
保留字是js语言还没有开始正式使用的一些单词,但是将来有可能成为关键字,也是不能用作标识符命名的,说白了,就是备胎,玩股票的可以把它看做绩优股。javascript里面有哪些保留字呢?还是一张图片搞定:
这些东西我们大概知道就行了,不用花心思、费精神去记忆,想想我怎么可能去把标识符命名为synchronized呢?没学过java的话,可能都不知道它是干嘛的,怎么可能这么巧,正好把标识符起成了这个名字。。。。。
变量与类型
结合我们前边讲过的标识符,字面量,关键字,保留字这些概念,我们该怎么理解变量呢?我们知道关键字、保留字规定了标识符不能是什么。而js里面的变量是什么呢?
变量就是用于存储字面量的标识符。下面的js代码就定义了几个变量
var uname;//变量声明 alert(uname);//undefined alert(age);//age is not defined(报错) uname=”jack”;//变量赋值 var email=”[email protected]”;//变量初始化
js是弱类型的语言,即原先是某个类型可以在后边改变为另外一个类型,比如 email=163,但不推荐(隐式类型转换),因为你这样转来转去一会自己就可能晕乎了。
多个变量可以放在一起声明(或初始化):var uname=“jack”,age,email=”[email protected]”;
注意:在js里面,每条语句末尾最好加分号";"。
想一想下面的语句会是什么结果:
<script> var a b=4; alert(a);//弹出undefined alert(b);//弹出4 alert(ab);//直接报错:Uncaught ReferenceError: ab is not defined </script>
下面这个例子演示了如何使用变量来描述一个人:
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>描述一个人讲解变量和变量类型</title>
<script type="text/javascript">
var name="刘德华";
var age=55;
var height=1.74;
var job1="演员";
var job2="歌手";
//var job1="导演";//或者job1="导演";后边的会覆盖前边的值
var job3="导演";
var salary;//undefined
alert("名字:"+name+"年龄:"+age+"身高:"+height+"工作:"+job1+","+job2+","+job3);
alert("薪水:"+salary);
var concert=null;
alert(concert);
var div1=document.getElementById("div1");//null
alert(div1);
</script>
</head>
<body>
</body>
</html>
任何一门编程语言都绕不开的话题就是变量,变量的类型,js自然也不例外,在我们学习了js的变量之后,接下来自然而然的就需要了解的是js里面变量的类型,从大的方面来分,js里面的变量类型有3种:
一、基本类型:Number,String,Boolean
二、特殊类型:Null,Undefined
三、引用类型(对象):除了基本类型与特殊类型以的类型都是对象
注意点:
Number()可以把任意类型转为数值类型,parseInt()和parseFloat()只能将字符串转为数值类型
String使用单引号或者双引号都可以,转义字符
Null类型只有一个值就是null,代表对象未创建,如document.getElementById("div1"),而页面中并没有id为div1的元素的时候得到的返回值就是null。
Undefined类型只有一个值就是undefined,仅声明了变量:var uname;或者var uname=undefined;这两种方式,uname的值都是undefined。
Boolean可以把任意类型转为布尔类型
可以转为true的:非0数值、非空字符串、任意对象
可以转为false的:0、NaN、“”、undefined、null。
下面的例子可以让我们更好的理解数据类型之间的转换:
<script type="text/javascript">
//number转化:
alert(Number(true));//1 number()不行
alert(Number(null));//0
alert(Number("020"));//去掉前导:20
alert(Number("01.010"));//去掉前导和后导:1.01
alert(Number(""));//0
alert(Number("ZHAO123"));//NaN
alert(Number("123ZHAO"));//NaN
//与Number不同之处
alert(parseInt("123ZHAO"));//123
alert(parseInt("ZHAO123"));//NaN
//boolean转化:
alert(Boolean(3));
alert(Boolean("abc"));
alert(Boolean(Object()));
alert(Boolean(0));
alert(Boolean(parseInt("zhao124")));
alert(Boolean(""));
alert(Boolean(undefined));
alert(Boolean(null));
</script>