Javascript基础语法-变量声明
变量是用于存储信息的容器
javascript中的变量与我们在java中的变量一样。
在javascript中使用用 var 运算符(variable 的缩写)加变量名定义的
JavaScript 变量名称的规则:
变量对大小写敏感(y 和 Y 是两个不同的变量)
变量必须以字母或下划线开始
注意:由于 JavaScript 对大小写敏感,变量名也对大小写敏感。
Javascript基础语法-数据类型
在ECMAScript中,变量可以存在两种数据类型,即原始类型与引用类型。
原始类型
原始类型,可以理解成是一个值类型。简单说,就是一个字面值,它是不可变的,例如: 10 “abc”
ECMAScript有五种原始类型:
- String 在javascript中字符串字符串字面值,可以使用单引号或双引号声明。
- Number 在javascript中任何数字都看成是Number类型,它即可以表示32位整数,也可以表示64位浮点数。八进制首数字必须是0,十六进制使用0x开始。
- Boolean 它有两个值true和false.
- Undefined:该类型只有一个值undefined.表示的是未初始化的变量
- null 该类型只有一个值null,表示尚未存在的对象。用于定义空的或不存在的引用
- undefined实际上是从值null派生出来的。因此null==undefined得到的结果是true。当时用一个并未声明的变量,或者使用一个已经声明但没有赋值的变量时,将返回未定义值undefined。
注意:您也许会问,为什么 typeof 运算符对于 null 值会返回 "Object"。这实际上是 JavaScript 最初实现中的一个错误,然后被 ECMAScript 沿用了。现在,null 被认为是对象的占位符,从而解释了这一矛盾,但从技术上来说,它仍然是原始值。 |
引用类型
引用类型通常叫做类(class),也就是说,遇到引用值,所处理的就是对象。
从传统意义上来说,ECMAScript 并不真正具有类。
ECMAScript 定义了“对象定义”,逻辑上等价于其他程序设计语言中的类。
对象是由 new 运算符加上要实例化的对象的名字创建的 var obj=new Object();
java: Object obj = new Object(); |
Object对象自身用处不大,但是 ECMAScript 中的 Object 对象与 Java 中的 java.lang.Object 相似,ECMAScript 中的所有对象都由这个对象继承而来,Object 对象中的所有属性和方法都会出现在其他对象中
常用的javascript对象有 Boolean,Number,Array,String,Date,Math,RegExp.
可以使用instanceof运算符来判断对象的类型。
typeof:判断数据类型 返回我的数据类型 instanceof:判断数据类型 是否是某种类型 var obj = new Object(); alert(typeof obj);//object alert(obj instanceof Object);//true |
Javascript基础语法-类型转换
ECMAScript为开发者提供了大量的类型转换方法。
大部分类型具有进行简单转换的方法,还有几个全局方法可以用于更复杂的转换。
Boolean 值、数字和字符串的原始值它们是伪对象,这意味着它们实际上具有属性和方法。
- 转换成字符串
toString()方法.
- 转换成数字
ECMAScript 提供了两种把非数字的原始值转换成数字的方法,即 parseInt() 和 parseFloat()。前者把值转换成整数,后者把值转换成浮点数。只有对 String 类型调用这些方法,它们才能正确运行;对其他类型返回的都是 NaN。
- 强制类型转换
使用强制类型转换可以访问特定的值。
ECMAScript 中提供了三种强制类型转换:
- 把给定的值转换成Boolean类型
- 把给定的值转换成数字
- 把给定的值转换成字符串
测试Boolean型的强制类型转换
测试强制转换成数字类型
类型转换: number\boolean转成string toString(); string\boolean转成number parseInt() parseFloat() boolean不能转 string可以将数字字符串转换成number 如果“123a3sd5” 转成123 强制转换 Boolean() 强转成布尔 数字强转成布尔 非零就是true 零就是false 字符串强转成布尔 非“”(空字符串)就是true 空字符串“”就是false Number() 强转成数字 布尔转数字 true转成1 false转成0 字符串转数字 不能强转 |
测试强制转换成字符串
Javascript基础语法-运算符
常用的JavaScript运算符按类型,可分为赋值运算符、算术运算符、比较运算符、逻辑运算符、条件运算符和字符串运算符6种;
JavaScript 赋值运算符
赋值运算符用于给 JavaScript 变量赋值。
给定 x=10 和 y=5,下面的表格解释了赋值运算符:
运算符 | 例子 | 等价于 | 结果 |
---|---|---|---|
= | x=y | x=5 | |
+= | x+=y | x=x+y | x=15 |
-= | x-=y | x=x-y | x=5 |
*= | x*=y | x=x*y | x=50 |
/= | x/=y | x=x/y | x=2 |
%= | x%=y | x=x%y | x=0 |
JavaScript 算术运算符
算术运算符用于执行变量与/或值之间的算术运算。
给定 y=5,下面的表格解释了这些算术运算符:
运算符 | 描述 | 例子 | 结果 |
---|---|---|---|
+ | 加 | x=y+2 | x=7 |
- | 减 | x=y-2 | x=3 |
* | 乘 | x=y*2 | x=10 |
/ | 除 | x=y/2 | x=2.5 |
% | 求余数 (保留整数) | x=y%2 | x=1 |
++ | 累加 | x=++y | x=6 |
-- | 递减 | x=--y | x=4 |
JavaScript 比较运算符
比较运算符在逻辑语句中使用,以测定变量或值是否相等。
x=5,下面的表格解释了比较运算符:
运算符 | 描述 | 比较 | 返回值 | 实例 |
---|---|---|---|---|
== | 等于 | x==8 | false | 实例 » |
x==5 | true | 实例 » | ||
=== | 绝对等于(值和类型均相等) | x==="5" | false | 实例 » |
x===5 | true | 实例 » | ||
!= | 不等于 | x!=8 | true | 实例 » |
!== | 不绝对等于(值和类型有一个不相等,或两个都不相等) | x!=="5" | true | 实例 » |
x!==5 | false | 实例 » | ||
> | 大于 | x>8 | false | 实例 » |
< | 小于 | x<8 | true | 实例 » |
>= | 大于或等于 | x>=8 | false | 实例 » |
<= | 小于或等于 | x<=8 | true | 实例 » |
JavaScript 逻辑运算符
逻辑运算符用于测定变量或值之间的逻辑。
给定 x=6 以及 y=3,下表解释了逻辑运算符:
运算符 | 描述 | 例子 |
---|---|---|
&& | and | (x < 10 && y > 1) 为 true |
|| | or | (x==5 || y==5) 为 false |
! | not | !(x==y) 为 true |
JavaScript 条件运算符又称为三元运算符
var max = (num1 > num2) ? num1 :num2; |
这个表达式描述的就是如果num1大于num2,那么max的值就是num1,返回之max的结果就是num2.
JavaScript 字符串运算符
用于两个字符型数据之间的运算符,"+",类似于拼接。
Javascript基础语法-逻辑语句
- if语句
javascrip中的if语句,与我们在java中使用基本相同,例如:
if (i > 30) {
alert("大于 30");
}else {
alert("小于等于 30");
}
- switch语句
switch语句也与我们在jdk1.7中使用相同,也就是说,它可以直接判断字符串类型
var BLUE = "blue", RED = "red", GREEN = "green";
var sColor = "a";
switch (sColor) {
case BLUE: alert("Blue");
break;
case RED: alert("Red");
break;
case GREEN: alert("Green");
break;
default: alert("Other");
}
在javascript中也存在循环语句for while do-while,基本与在java中使用相同.
/*for示例*/
var iCount = 6;
for (var i = 0; i < iCount; i++) {
alert(i);
}
/*注意:在声明变量归我们使用var*/
/*while示例*/
var i = 0;
while (i < 10) {
i += 2;
}
/*do-while示例*/
var i = 0;
do {
i += 2;
} while (i < 10);
/*注意:在while后面的分号*/
拓展循环
var arr = [1,3,5,7,"js"];
for(index in arr){//index代表角标
//alert(index);
alert(arr[index]);
}