发表于: 2017-04-03 23:12:02

1 670


今天完成的事情:(一定要写非常细致的内容,比如说学会了盒子模型,了解了Margin

开启任务1:九宫格 

掌握javascript的变量,运算符,控制结构,对象。

 

明天计划的事情:(一定要写非常细致的内容) 

了解javascript的全局函数; 

学习使用javascript的自定义函数;

 javascript如何操作DOM

 javascript如何修改CSS

遇到的问题:(遇到什么困难,怎么解决的) 

 

 

收获:(通过今天的学习,学到了什么知识)

变量

在 JavaScript 中声明一个新变量的方法是使用关键字 var

var a;
var name = "simon";

如果声明了一个变量却没有对其赋值,那么这个变量的类型就是 undefined从 ECMAScript Edition 6 开始将有所不同的, let 和 const 关键字允许你创建块作用域的变量。

运算符

JavaScript的算术操作符包括 +-*/ 和 % ——求余(与模运算不同)。赋值使用 = 运算符,此外还有一些复合运算符,如 += 和 -=,它们等价于 x = x op y

x += 5; // 等价于 x = x + 5;

可以使用 ++ 和 -- 分别实现变量的自增和自减。两者都可以作为前缀或后缀操作符使用。

操作符 +还可以用来连接字符串:

"hello" + " world"; // hello world

如果你用一个字符串加上一个数字(或其他值),那么操作数都会被首先转换为字符串。如下所示:

"3" + 4 + 5; // 345
3 + 4 + "5"; // 75

这里不难看出一个实用的技巧——通过与空字符串相加,可以将某个变量快速转换成字符串类型。

JavaScript 中的比较操作使用 <><= 和 >=,这些运算符对于数字和字符串都通用。相等的比较稍微复杂一些。由两个“=(等号)”组成的相等运算符有类型自适应的功能,具体例子如下:

123 == "123" // true
1 == true; // true

如果在比较前不需要自动类型转换,应该使用由三个“=(等号)”组成的相等运算符:

1 === true; //false
123 === "123"; // false

JavaScript 还支持 != 和 !== 两种不等运算符,具体区别与两种相等运算符的区别类似。

JavaScript 还提供了 位操作符

控制结构

JavaScript 的控制结构使用 if 和 else 来定义条件语句,还可以连起来使用:

var name = "kittens";
if (name == "puppies") {
  name
+= "!";
} else if (name == "kittens") {
  name
+= "!!";
} else {
  name
= "!" + name;
}
name
== "kittens!!"; // true

JavaScript 支持 while 循环和 do-while 循环。前者适合常见的基本循环操作,如果需要循环体至少被执行一次则可以使用 do-while

while (true) {
 
// 一个无限循环!
}

var input;
do {
  input
= get_input();
} while (inputIsNotValid(input))

JavaScript 的 for 循环可在一行代码中提供控制信息。

for (var i = 0; i < 5; i++) {
 
// 将会执行五次
}

&& 和 || 运算符使用短路逻辑(short-circuit logic),是否会执行第二个语句(操作数)取决于第一个操作数的结果。在需要访问某个对象的属性时,使用这个特性可以事先检测该对象是否为空:

var name = o && o.getName();

或运算可以用来设置默认值:

var name = otherName || "default";

类似地,JavaScript 也有一个用于条件表达式的三元操作符:

var allowed = (age > 18) ? "yes" : "no";

在需要多重分支时可以使用  基于一个数字或字符串的switch 语句:

switch(action) {
   
case 'draw':
       
drawIt();
       
break;
   
case 'eat':
       
eatIt();
       
break;
   
default:
       
doNothing();
}

如果你不使用 break 语句,JavaScript 解释器将会执行之后 case 中的代码。除非是为了调试,一般你并不需要这个特性,所以大多数时候不要忘了加上 break

switch(a) {
   
case 1: // 继续向下
   
case 2:
       
eatIt();
       
break;
   
default:
       
doNothing();
}

default 语句是可选的。switch 和 case 都可以使用需要运算才能得到结果的表达式;在 switch 的表达式和 case 的表达式是使用 === 严格相等运算符进行比较的:

switch(1 + 3){
   
case 2 + 2:
       
yay();
       
break;
   
default:
       
neverhappens();
}

对象

JavaScript 中的对象可以简单理解成“名称-值”对



返回列表 返回列表
评论

    分享到