【学习笔记】JavaScript DOM编程艺术(第2版)- 第2章、JavaScript语法

本章内容
语句
变量和数组
操作符
条件语句与循环语句
函数与对象

一、变量

1、变量声明

以下代码:

var a = "123",b = "456";

效果等同于:

var a;
var b;
a = "123";
b = "456";

2、变量命名

JavaScript语言中,变量和其他语法元素的名字注意区分字母 大小写

JavaScript语法里 不允许 变量名中包含 空格标点符号 (美元符号“$”例外)。

建议:一般使用驼峰法命名 函数 ,使用下划线命名 变量

二、数据类型

JavaScript是弱类型(weakly typed) 语言,不需要进行类型声明。

1、字符串(string)

字符串由 零个多个 字符构成,字符包括(但不限于)字母、数字、标点符号和空格。字符串必须包在 引号 内。
例:

var a = "asd";//等效于var a = 'asd'; (包在单引号或者双引号内都可以)
var a = "don't ask"; //(当字符串包含单引号时,则将整个字符串包在双引号里)

若想在上述语句中使用单引号包住,则需要使用转义字符(\)加在需要转义的字符前面。

var a = 'don\'t ask'; 	//don't ask
var b = "about 5'10\" tall";	//about 5'10" tall

2、数值(number)

JavaScript中 不限定 声明的变量为 整数 ,可以为浮点数(任意位数)、负数、负数浮点数等。
例:

var a = 33, b = 33.33, c = -33, d = -33.33;

3、布尔值(boolean)

布尔数据只有两个可选值 truefalse布尔值不是字符串,不需要包在引号里
例:

var a = true;
var b = "true";
//a不等于b

4、数组(array)

数组 是指用一个变量表示一个值的 集合 ,集合中的每个值都是这个数组的一个元素(element)。
数组可以包含任何 JavaScript 值,甚至是包含数组
例:
在 JavaScript 中,数组可以用关键字 Array 声明,如:

var a = Array(4);

若不确定数组中的元素个数,也可以:

var a = Array();

接下来可以对声明的数组添加元素,即 填充(populating)。
其中 array 为数组名,index 为元素的下标(起始值为0,而非1),element 为元素。

//语法格式: array[index] = element;
var a = Array(4);
a[0] = "1";
a[1] = "2";
a[2] = "3";
a[3] = "4";

或者使用更加简便的方式:

var a = ["1", "2", "3", "4"];

或是

var a = Array("1", "2", "3", "4");

扩展:

var lennon = Array();
lennon["name"] = "John";
lennon["year"] = 1940;
lennon["living"] = false;

这种数组叫做 关联数组 ,由于可以使用字符串来代替数字值,因而代码更具有可读性。
但不推荐使用,本质上,在创建关联数组时,创建的是 Array 对象的属性,我们不应该修改 Array 对象的属性,而是使用通用的 对象(Object)。

5、对象(object)

与数组类似,对象也是使用一个名字表示一组值,对象的每个值都是对象的一个属性。
例:

var lennon = Object();
lennon.name = "John";
lennon.year = 1940;
lennon.living = false;

也可以是使用更简洁的写法:

//语法格式: { propertyName:value, propertyName:value };
var lennon = { name:"John", year:1940, living:false };
内建对象(native object)

JavaScript预定义 对象。
例:

//使用new关键字去初始化一个数组
var beatles = new Array();
//查看数组的元素个数
var len = beatles.length;
//十进制取整
var num = Math.round(1.439);
宿主对象(host object)

浏览器 提供的 预定义 对象。
宿主对象包括Form、Images、Element等对象。

三、操作符(operation)

1、算术操作符(arithmetic operation)

加法 操作符:+
减法 操作符:-
乘法 操作符:*
除法 操作符:/
例:

var a = 1;
var b = (a + 1) / 2;

//或者作用于字符串
var c = "Hello " + "World!";

//若要对数值进行变化为1的计算,则可以简写为:
var a = 0;
a++; //数值加1,等同于a = a + 1;
a--; //数值减1,等同于a = a - 1;

//快捷进行“加法和赋值”(或“拼接加赋值”)操作:
var year = 2010;
var msg = "The year is ";
msg += year;

2、比较操作符

大于:>
小于:>
大于或等于:>=
小于或等于:<=
等于:==
不等于:!=
全等于:===
全不等于:!==

注意:

等号(=)和等于(==)的区别:
等号赋值 操作符, 等于比较 操作符。

等于和全等(或不等于和全不等于)的区别:
等于(或不等于)比较的是 ,而全等于(全不等于)比较的是 类型

3、逻辑操作符

与:&&
或:||
非:!

例:

//假设要检查一个已定义变量的值 num 是否在5~10之间,则
if(num >= 5 && num <= 10) {
    console.log("yes");
};
if(num >10 || num < 5) {
    console.log("no");
};
if(!(num >10 || num < 5)) {
    console.log("yes");
};

四、操作语句

1、条件语句(if)

if 条件语句

if语句的基本语法:

/*
    if(condition) {
        statements;
    }
*/

条件必须放在 if 后面的 括号内 ,条件的求值结果永远是一个 布尔值(true或false),且在结果为 true 时才会 执行 花括号内的语句。

if…else… 条件语句

若结果为 false 时需要执行某些语句,则可以使用扩展语法(if…else…):

/*
    if(condition) {
        statements;
    } else {
        statements;
    }
*/

ps :花括号内仅有一条语句是可以省略花括号,但是这样会降低可读性,所以不建议这么做。

2、循环语句

while 循环

while循环语句的基本语法:

/*
    while(condition) {
        statements;
    }
*/

while循环if语句 的区别:只要给定条件的求值结果为 true ,则 while循环反复执行下去。
例:

var count = 1;
while(count < 11) {
   console.log(count);
   count++;
}

例子中会执行到 count 的值变为 11 为止。

do…while 循环

若在某些特定情况下,要让 while循环 至少执行一次,则可以使用扩展语法:

/*
    do {
        statements;
    } while (condition);
*/
var count = 1;
do{
    console.log(count);
    count++;
} while (count < 1);

即使 while 的求值结果为 false ,但是 count 的值会变为 2 ,这就是 do…while 循环 的作用。

for 循环
//for循环语句的基本语法:
    for(initial condition; test condition; alter condition) {
        statements;
    }

for循环是while循环的一种变体,上述while循环例子可改写成:

for(var count = 1;count < 11;count++) {
    console.log(count);
}

for循环常用于对某个数组的全部元素进行 遍历 处理。
例:

var beatles = Array("John", "Paul", "George", "Ringo");
for(var count = 0; count < beatles.length; count++) {
	console.log(beatles[count]);
}

五、函数(function)

函数

函数就是一组允许在你的代码里随时调用的语句。
例:

function shout() {
    var beatles = Array("John", "Paul", "George", "Ringo");
    for(var count = 0; count < beatles.length; count++) {
        console.log(beatles[count]);
    }
};
//当你需要执行这一脚本动作时,随时可以使用下面的语句调用该函数:
shout();

调用函数时,还可以传送 参数(传递给函数的数据)给函数
例:

function msg(num1, num2) {
	var txt = num1 + num2;
	return txt;
};
//使用该函数
msg(11, 22);	//返回值为 33
变量的作用域

全局变量(global variable)可以在脚本的 任何位置 被引用;
局部变量(local variable)只存在于声明它的那个 函数的内部 ,在那个函数的外部时无法引用它的。
例:

function square(num) {
	total = num*num;
	return total;
}
var total = 50;
var number = square(total);
console.log(total);

例子中的 total 的值会变为 400 ,若不想改变这个全局变量,又要使用这个变量名,则应该在函数内使用var来定义这个同名变量:

function square(num) {
	var total = num*num;
	return total;
}
var total = 50;
var number = square(total);
console.log(total);

这样 total 的值仍为 50

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值