一、注释
二、基本数据类型
由具体的数据来决定它是什么数据类型
可以改变number1的数据类型;可以重新声明一个number1,不赋值的话引用之前的值(比较灵活)
var定义的number1删不了,删了就为null,有类似于java的jc回收机制
number4是window对象的属性 ,可以随时删
alert:输出,类似于systom.out.print
三、运算符
1.赋值运算符
优先级最低
双等号比较值是否相等,三等号比较值和类型,num1是object类型,num2是undefined类型
和java一样
和java一样
5.
&与运算符
>>>
js中才有,有符号的用>>>
alert(-4>>>1)
4的反码+1再向右移动一位
alert(-4>>1)
直接取绝对值,再向右移动一位,再把负号加上为-2
6.
var a = 10>9?
和java一样
四、条件结构
以控制台的形式输出
和java中foreach区别:java中for(数据类型 变量名:集合数组)
js中for(var index in 数组)js中只有数组,长度可扩展,所有数据都存在数组中
- 练习:
var numbers = [13,6,65,62,98]
for(var i = 0;i<number.lenth -1;i++){
for(var j = 0;j < number.length -i - 1;j++){
if(number[j] > number[j+1]){
var temp = number[j];
number[j] = number[j + 1];
number[j+1] = temp;
}
}
for(var index in numbers){
console.log(numbers[index])
}
}
var weekDay = 3;day = 20;
//算出休息了多少天
var restDay = 0;
var money = 0;
for(var i = 0;i <= day;i++){
if(weekDay != 6 || weekDay != 7){
money += 200;
}
weekDay = (weekDay + 1) % 8;
alert("星期"+(week-1)+",已有"+money);
}
五、赋值方式
5.1 Number
var number = 1 + 2;
var number = (new) Number(1);(相当于java里的integer(1))
有没有new都可以,没有看成是全局的函数,有看成是js里的一个对象
var number = (new) Number(“123”);(相当于java里的string(“123”))
new number(“123” + 1)可自动转换数据类型等于124
new number(“123a”)、new number(“a123”)可以转换数据类型,NaN (not a number)
new number(true)为1,false为0
5.2 String
var str = new String(1);
console.log(str + 1);为11
String类型会自动转换为字符串;
5.3 boolean
var bool = new Boolean(1);
var bool = new Boolean(2);
都为true,非0为真,0为假
var bool = new Boolean(“ ”);
为假,非空为真,空为假
六、数组
特殊的对象,由属性和值组成
<script>
let number1 = [1, 2, 3, 4, 5, 'a','b',true];
console.log(number1.length);
number1[true] = "china2";
number1["abc"] = "china" //字符串索引跟下面的对不上,搜索不到,changdu
number1["11"] = "china" //可以被检索到,长度+1
console.log[numbe1.length];
//遍历1 可以遍历到索引为数字(能转成数字的字符串)的元素(包括undefined),索引的类型是其他的,遍历不到
for(let i = 0; i < number1.length; i++){
console.log(number1[i]);
}
//遍历2 把数组当成对象遍历其中的属性,i里指的是下标,取值number1[i],全部元素都可以获取到
for(let i in number1){
console.log(number1[i])
//i为String类型,会自动变为字符串来进行索引
console.log(typeof i)
}
//甚至可以用字符串定义元素的下标来添加元素
number["abc"] = "ABC";
//数组长度也没有那么严格,见下图
number1[10] = 10;
number1.length = 20;
// 遍历3 let...of ES6引入,将数组中的元素直接获取,可以遍历到索引为数字(能转成数字的字符串)的元素(包括undefined),索引的类型是其他的,遍历不到
for(let i of number1){
console.log(i);
}
</script>
-
练习: