目录
一、变量
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>
运行结果: