发表于: 2018-11-27 16:00:13

1 801


今天完成的事情:查找了JS和http的一些基本概念 
明天计划的事情:(一定要写非常细致的内容) 
遇到的问题:(遇到什么困难,怎么解决的) 
收获:(通过今天的学习,学到了什么知识)

JavaScript 输出


JavaScript 没有任何打印或者输出的函数。

JavaScript 可以通过不同的方式来输出数据:

  • 使用 window.alert() 弹出警告框。
  • 使用 document.write() 方法将内容写到 HTML 文档中。
  • 使用 innerHTML 写入到 HTML 元素。
  • 使用 console.log() 写入到浏览器的控制台。

JavaScript 字面量

在编程语言中,一个字面量是一个常量,如 3.14。

数字(Number)字面量 可以是整数或者是小数,或者是科学计数(e)。

数组(Array)字面量 定义一个数组:

[40, 100, 1, 5, 25, 10]

对象(Object)字面量 定义一个对象:

{firstName:"John", lastName:"Doe", age:50, eyeColor:"blue"}

函数(Function)字面量 定义一个函数:

function myFunction(a, b) { return a * b;}



JavaScript 变量

在编程语言中,变量用于存储数据值。

JavaScript 使用关键字 var 来定义变量, 使用等号来为变量赋值:

var x, length        
       
x = 5        
       
length = 6

变量可以通过变量名访问。在指令式语言中,变量通常是可变的。字面量是一个恒定的值。

与代数一样,JavaScript 变量可用于存放值(比如 x=5)和表达式(比如 z=x+y)。

变量可以使用短名称(比如 x 和 y),也可以使用描述性更好的名称(比如 age, sum, totalvolume)。

  • 变量必须以字母开头
  • 变量也能以 $ 和 _ 符号开头(不过我们不推荐这么做)
  • 变量名称对大小写敏感(y 和 Y 是不同的变量)

局部 JavaScript 变量

在 JavaScript 函数内部声明的变量(使用 var)是局部变量,所以只能在函数内部访问它。(该变量的作用域是局部的)。

您可以在不同的函数中使用名称相同的局部变量,因为只有声明过该变量的函数才能识别出该变量。

只要函数运行完毕,本地变量就会被删除。

局部变量比同名全局变量的优先级高,所以局部变量会隐藏同名的全局变量。


全局 JavaScript 变量

在函数外声明的变量是全局变量,网页上的所有脚本和函数都能访问它。


JavaScript 变量的生存期

JavaScript 变量的生命期从它们被声明的时间开始。

局部变量会在函数运行以后被删除。

全局变量会在页面关闭后被删除。


向未声明的 JavaScript 变量分配值

如果您把值赋给尚未声明的变量,该变量将被自动作为全局变量声明。

这条语句:

carname="Volvo";

将声明一个全局变量 carname,即使它在函数内执行。

JavaScript语言有多种类型的运算符:

Type实例描述
赋值,算术和位运算符=  +  -  *  /在 JS 运算符中描述
条件,比较及逻辑运算符==  != <  > 在 JS 比较运算符中描述

JavaScript 函数语法

函数就是包裹在花括号中的代码块,前面使用了关键词 function:

function functionname()
{
执行代码
}

当调用该函数时,会执行函数内的代码。

可以在某事件发生时直接调用函数(比如当用户点击按钮时),并且可由 JavaScript 在任何位置进行调用。

带有返回值的函数

有时,我们会希望函数将值返回调用它的地方。

通过使用 return 语句就可以实现。

在使用 return 语句时,函数会停止执行,并返回指定的值。

语法

function myFunction()
{
var x=5;
return x;
}

上面的函数会返回值 5。

注意: 整个 JavaScript 并不会停止执行,仅仅是函数。JavaScript 将继续执行代码,从调用函数的地方。


JavaScript 作用域

在 JavaScript 中, 对象和函数同样也是变量。

在 JavaScript 中, 作用域为可访问变量,对象,函数的集合。

JavaScript 函数作用域: 作用域在函数内修改。

JavaScript 局部作用域

变量在函数内声明,变量为局部作用域。

局部变量:只能在函数内部访问。

// 此处不能调用 carName 变量        
       
function myFunction() {        
    var carName = "Volvo";        
       
    // 函数内可调用 carName 变量        
       
}

因为局部变量只作用于函数内,所以不同的函数可以使用相同名称的变量。

局部变量在函数开始执行时创建,函数执行完后局部变量会自动销毁。


JavaScript 全局变量

变量在函数外定义,即为全局变量。

全局变量有 全局作用域: 网页中所有脚本和函数均可使用。 

var carName = " Volvo";        
       
// 此处可调用 carName 变量        
       
function myFunction() {        
       
    // 函数内可调用 carName 变量        
       
}


如果变量在函数内没有声明(没有使用 var 关键字),该变量为全局变量。

以下实例中 carName 在函数内,但是为全局变量。

// 此处可调用 carName 变量        
       
function myFunction() {        
    carName = "Volvo";        
       
    // 此处可调用 carName 变量        
       
}

JavaScript if...else 语句


条件语句用于基于不同的条件来执行不同的动作。


条件语句

通常在写代码时,您总是需要为不同的决定来执行不同的动作。您可以在代码中使用条件语句来完成该任务。

在 JavaScript 中,我们可使用以下条件语句:

  • if 语句 - 只有当指定条件为 true 时,使用该语句来执行代码
  • if...else 语句 - 当条件为 true 时执行代码,当条件为 false 时执行其他代码
  • JavaScript三目运算 - 当条件为true 时执行代码,当条件为 false 时执行其他代码        
       
  • if...else if....else 语句- 使用该语句来选择多个代码块之一来执行
  • switch 语句 - 使用该语句来选择多个代码块之一来执行


If 语句

只有当指定条件为 true 时,该语句才会执行代码。

语法

if (condition)      
  {      
 当条件为 true 时执行的代码        
  }

请使用小写的 if。使用大写字母(IF)会生成 JavaScript 错误!

当时间小于 20:00 时,生成问候 "Good day":

if (time<20)        
  {        
  x="Good day";        
  }
x 的结果是:        
Good day

请注意,在这个语法中,没有 ..else..。您已经告诉浏览器只有在指定条件为 true 时才执行代码。


If...else 语句

请使用 if....else 语句在条件为 true 时执行代码,在条件为 false 时执行其他代码。

语法

if (condition)        
  {      
  当条件为 true 时执行的代码      
  }        
else        
  {        
  当条件不为 true 时执行的代码        
  }

当时间小于 20:00 时,生成问候 "Good day",否则生成问候 "Good evening"。

if (time<20)        
  {        
  x="Good day";        
  }        
else        
  {        
  x="Good evening";        
  }

x 的结果是:

Good day

Javascript三目运算(三元运算) 语句

请使用 (condition1) ? ture-doing : else-doing; 语句在条件为 true 时执行代码,在条件为 false 时执行其他代码。
实例

5 > 3 ? alert("5大于3") : alert("5小于3");

注意:if...else与三目运算这两者的区别,总结为一句话:三目运算有返回值,if else没有返回值

例子1:

var n=1;if(n>1){
    n=0;
}else{
    n++;
}console.log(n);
#输出结果:2var n=1;
n = n>1?0 : n++;console.log(n);
#输出结果为:1

例子2:

var n=1;if(n>1){
    n=0;
}else{
    ++n;
}console.log(n);
#输出结果:2var n=1;
n = n>1?0 : ++n; 
console.log(n); 
#输出结果为:2



If...else if...else 语句

使用 if....else if...else 语句来选择多个代码块之一来执行。

语法

if (condition1)      
  {        
  当条件 1 为 true 时执行的代码      
  }      
else if (condition2)      
  {        
 当条件 2 为 true 时执行的代码      
  }        
else        
  {        
  当条件 1 和 条件 2 都不为 true 时执行的代码        
  }

如果时间小于 10:00,则生成问候 "Good morning",如果时间大于 10:00 小于 20:00,则生成问候 "Good day",否则生成问候 "Good evening":

if (time<10)        
  {        
  x="Good morning";        
  }        
else if (time>=10 && time<20)        
  {        
  x="Good day";        
  }        
else        
  {        
  x="Good evening";        
  }

x 的结果是:

Good morning

JavaScript for 循环


循环可以将代码块执行指定的次数。


JavaScript 循环

如果您希望一遍又一遍地运行相同的代码,并且每次的值都不同,那么使用循环是很方便的。

我们可以这样输出数组的值:

一般写法:

document.write(cars[0] + "<br>");        
document.write(cars[1] + "<br>");        
document.write(cars[2] + "<br>");        
document.write(cars[3] + "<br>");        
document.write(cars[4] + "<br>");        
document.write(cars[5] + "<br>");

   

使用for循环

for (var i=0;i<cars.length;i++)        
{        
document.write(cars[i] + "<br>");        
}

不同类型的循环

JavaScript 支持不同类型的循环:

  • for - 循环代码块一定的次数
  • for/in - 循环遍历对象的属性
  • while - 当指定的条件为 true 时循环指定的代码块
  • do/while - 同样当指定的条件为 true 时循环指定的代码块

For 循环

for 循环是您在希望创建循环时常会用到的工具。

下面是 for 循环的语法:  

for (语句 1; 语句 2; 语句 3)        
  {        
  被执行的代码块        
  }

语句 1 (代码块)开始前执行 starts.

语句 2 定义运行循环(代码块)的条件

语句 3 在循环(代码块)已被执行之后执行

实例

for (var i=0; i<5; i++)        
  {        
  x=x + "The number is " + i + "<br>";        
  }         

语句 1

通常我们会使用语句 1 初始化循环中所用的变量 (var i=0)。

语句 1 是可选的,也就是说不使用语句 1 也可以。

您可以在语句 1 中初始化任意(或者多个)值

语句 2

通常语句 2 用于评估初始变量的条件。

语句 2 同样是可选的。

如果语句 2 返回 true,则循环再次开始,如果返回 false,则循环将结束。



语句 3

通常语句 3 会增加初始变量的值。

语句 3 也是可选的。

语句 3 有多种用法。增量可以是负数 (i--),或者更大 (i=i+15)。

语句 3 也可以省略(比如当循环内部有相应的代码时)




返回列表 返回列表
评论

    分享到