一、变量
JavaScript中var关键字(varlable的缩写)来声明变量
var test = 20; test = "张三";
JavaScript是一门弱类型的语言,变量可以存放不同类型的值
变量名需要循序如下规则:
组成字符可以是任何字母、数字、下划线(_)或美元符号($)
数字不能开头
建议使用驼峰命名
ECMAScript 6 新增 let 关键字来定义变量,它的用法类似于var,但所声明的变量,只在let关键字所在的代码块内有效,且不允许重复声明
ECMAScript 6 新增了count关键字,用来声明一个只读的常量,一旦声明,常量的值就不能改变。
var的特点:1、作用域:全局变量 2、变量名可以重复定义
二、数据类型
JavaScript中分为:原始类型和引用类型
5种原始类型:
number:数字(整数,小数,NaN(Not a Number))
string:字符、字符串,单双引号即可
boolean:布尔。true,false
undefined:当声明的变量未初始化时,该变量的默认值是undefined
使用typeof运算符可以获取数据类型
alert(typeod age);
number:数字(整数,小数,NaN(Not a Number)):
<script> //number var age = 20; var price = 99.8; alert(typeof age); alert(typeof price); </script>
运行结果两次重复弹出(number):
string:字符、字符串,单双引号即可:
<script> //String var ch = 'a'; var name = '张三'; var addr = "北京"; </script>
运行结果三次重复弹出(string):
boolean:布尔。true,false:
<script> //boolean var flag = true; var flag2 = false; alert(typeof flag); alert(typeof flag2); </script>
运行结果两次重复弹出(boolean):
undefined:当声明的变量未初始化时,该变量的默认值是undefined:
<script> //undefined var a; alert(typeof a); </script>
运行结果为(undefined):
Object:
注释:您也许会问,为什么 typeof 运算符对于 null 值会返回 "Object"。这实际上是 JavaScript 最初实现中的一个错误,然后被 ECMAScript 沿用了。现在,null 被认为是对象的占位符,从而解释了这一矛盾,但从技术上来说,它仍然是原始值
<script> // null var obj = null; alert(typeof obj); </script>
运行结果为(object):
三、运算符
一元运算符:++,--
算术运算符:+,-,*,/,%
赋值运算符:=,+=,-=...
关系运算符:>,<,>=,<=,!=,==,===...
逻辑运算符:&&,||,!
三元运算符:条件表达式?true_value:false_value
==:判断类型是否一样,如果不一样,则进行类型转换 ,再去比较其值
===:判断类型是否一样,如果不一样,连接返回false,再去比较其值
<script> var age1 = 20; var age2 = "20"; alert(age1 == age2);//true alert(age1 === age2);//false </script>
运行结果:==为true,===为false
四、类型转换
类型转换:
其他类型转为number:
1、string:按照字符串的字面值,转为数字,如果字面值不是数字,则转为NaN
一般使用parseInt
2、boolean:true转为1,false转为0
其他类型转为boolean
1、number:0和NaN会转为false,其他的数字转为true
2、string:空字符串转为false,其他的字符串转为true
3、null:false
4、undefined:false
健壮性判断:
<script> var flag = undefined; // //健壮性判断 //if(str != null && str.length > 0)等价与下面 if(flag){ alert("转为true"); }else{ alert("转为false"); } </script>
运行结果: