js 语句

js 语句

js语句

JavaScript 语句标识符

JavaScript 语句通常以一个 语句标识符 为开始,并执行该语句。

语句标识符是保留关键字不能作为变量名使用。

下表列出了 JavaScript 语句标识符 (关键字) :

语句 描述
break 用于跳出循环。
catch 语句块,在 try 语句块执行出错时执行 catch 语句块。
continue 跳过循环中的一个迭代。
do … while 执行一个语句块,在条件语句为 true 时继续执行该语句块。
for 在条件语句为 true 时,可以将代码块执行指定的次数。
for … in 用于遍历数组或者对象的属性(对数组或者对象的属性进行循环操作)。
function 定义一个函数
if … else 用于基于不同的条件来执行不同的动作。
return 退出函数
switch 用于基于不同的条件来执行不同的动作。
throw 抛出(生成)错误 。
try 实现错误处理,与 catch 一同使用。
var 声明一个变量。
while 当条件语句为 true 时,执行语句块。

函数

传入参数可以是任意类型,

//函数可以传入任意数据类型的参数
function sayself(o){
console.log(o.address+o.name)
}
var obj={address:"花果山水帘洞",name:"孙悟空"};
sayself(obj);
//return 返回值可以是任意对象,return执行之后便会结束函数
(function(){
    console.log("函数定义完立即执行函数,一般只执行一次")
})();

this 关键字

//this用法,一般而言,在Javascript中,this指向函数执行时的当前对象。
//根据调用的不同,this指向不同对象
////以函数形式调用时。this永远都是window。以方法形式调用时,this永远都是调用方法的对象
function myfun(){
    console.log(this.name);
}
var obj1={address:"未知",name:"六耳猕猴",sayname:myfun};
obj.sayname();
obj1.sayname();


作为函数方法调用函数

在 JavaScript 中, 函数是对象。JavaScript 函数有它的属性和方法。

call()apply() 是预定义的函数方法。 两个方法可用于调用函数,两个方法的第一个参数必须是对象本身。

function myFunction(a, b) {    return a * b; } 
myObject = myFunction.call(myObject, 10, 2);     // 返回 20
function myFunction(a, b) 
{    return a * b; } 
myArray = [10, 2];
myObject = myFunction.apply(myObject, myArray);  // 返回 20

两个方法都使用了对象本身作为第一个参数。 两者的区别在于第二个参数: apply传入的是一个参数数组,也就是将多个参数组合成为一个数组传入,而call则作为call的参数传入(从第二个参数开始)。

在 JavaScript 严格模式(strict mode)下, 在调用函数时第一个参数会成为 this 的值, 即使该参数不是一个对象。

在 JavaScript 非严格模式(non-strict mode)下, 如果第一个参数的值是 null 或 undefined, 它将使用全局对象替代。

if条件语句(与c,python类似)

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

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

switch 语句

请使用 switch 语句来选择要执行的多个代码块之一。

使用 default 关键词来规定匹配不存在时做的事情(也可以不写)

switch(n)
 {      case 1:        
 			执行代码块 1       
 			break;    
 		case 2:        
 			执行代码块 2        
 			break;    
 		default:        
 			 case 1  case 2 不同时执行的代码 
 }

For 循环(与python类似)

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

下面是 for 循环的语法:

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

for 多次循环

for (var i=0; i<5; i++) 
{      
	x="该数字为 " + i + "<br>";
}

for 遍历数组

var cars=[1,2,3,4]
for (var i=0,len=cars.length; i<len; i++) 
{     
    document.write(cars[i] + "<br>"); 
}

For/In 循环

JavaScript for/in 语句循环遍历对象的属性:

var person={fname:"Bill",lname:"Gates",age:56};  
for (x in person)  // x 为属性名
{   var txt= ' ';
    txt= person[x]+txt ; 
    document.write(txt)
}
//输出结果为:Bill Gates 56

while 循环(与c语言类似)

while 循环会在指定条件为真时循环执行代码块。

do
{
  需要执行的代码
}
while (条件)

break 语句

break 语句可用于跳出循环。

break 语句跳出循环后,会继续执行该循环之后的代码

continue 语句

continue 语句中断循环中的迭代,如果出现了指定的条件,然后继续循环中的下一个迭代。

有了标签,可以使用break和continue在多层循环的时候控制外层循环。

例如下面:

outerloop:
for (var i = 0; i < 10; i++)
{
    innerloop:
    for (var j = 0; j < 10; j++)
    {
        if (j > 3)
        {
            break;
        }
        if (i == 2)
        {
            break innerloop;
        }
        if (i == 4)
        {
            break outerloop;
        }
        document.write("i=" + i + " j=" + j + "");
    }
}

JavaScript 标签

正如您在 switch 语句那一章中看到的,可以对 JavaScript 语句进行标记。

如需标记 JavaScript 语句,请在语句之前加上冒号:

label: statements

break 和 continue 语句仅仅是能够跳出代码块的语句。

语法:

break labelname; continue labelname;

continue 语句(带有或不带标签引用)只能用在循环中。

break 语句(不带标签引用),只能用在循环或 switch 中。

通过标签引用,break 语句可用于跳出任何 JavaScript 代码块

对象定义

你可以使用字符来定义和创建 JavaScript 对象:

 var person = {
 firstName:"John",
  lastName:"Doe",
  age:50,
  eyeColor:"blue"
};

访问对象属性

你可以通过两种方式访问对象属性:

person.lastName;

常见的HTML事件

下面是一些常见的HTML事件的列表:

事件 描述
onchange HTML 元素改变
onclick 用户点击 HTML 元素
onmouseover 用户在一个HTML元素上移动鼠标
onmouseout 用户从一个HTML元素上移开鼠标
onkeydown 用户按下键盘按键
onload 浏览器已完成页面的加载

JavaScript 可以做什么?

事件可以用于处理表单验证,用户输入,用户行为及浏览器动作:

  • 页面加载时触发事件
  • 页面关闭时触发事件
  • 用户点击按钮执行动作
  • 验证用户输入内容的合法性
  • 等等 …

可以使用多种方法来执行 JavaScript 事件代码:

  • HTML 事件属性可以直接执行 JavaScript 代码
  • HTML 事件属性可以调用 JavaScript 函数
  • 你可以为 HTML 元素指定自己的事件处理程序
  • 你可以阻止事件的发生。
  • 等等 …

typeof 操作符

你可以使用 typeof 操作符来检测变量的数据类型。

typeof "John"      // 返回 string
typeof 3.14       // 返回 number
typeof false      // 返回 boolean
typeof [1,2,3,4] // 返回 object//在JavaScript中,数组是一种特殊的对象类型
typeof {name:'John', age:34}// 返回 object