JavaScript DOM编程艺术学习笔记-第二章JavaScript语法
一、JavaScript示例
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8" />
<title>Just a Test</title>
</head>
<body>
<script src="example.js"></script>
</body>
</html>
将上述代码放入文件中,并将文件命名为test.html
alert("hello world!")
将上述代码命名为example.js并与test.html放入同一文件夹,然后使用浏览器打开test.html,查看结果。
二,语法
语句
JavaScript由一系列语句构成,每行一条语句,并最好加上分号结尾。如果多条语句放在同一行上,则必须使用分号分隔它们。
注释
单行注释://
多行注释:/* */
也可使用html风格的注释:<!--,但是只支持单行,且结尾不需要-->,为避免混淆,不推荐使用这种注释方式。
变量
存储各类可变数据的东西称为变量。将值存入变量的操作称为赋值。
在使用变量前,可以不需要声明,但是提前声明变量是一种良好的习惯。
变量既可单独声明,如
var mood;
var age;
也可一条语句一次声明多个变量:
var mood,age;
甚至也可声明赋值一次完成,
var mood = "happy", age = 23;
JavaScript变量区分大小写,变量名只允许出现字母、数字、美元符号和下划线,但第一个字符不能是数字。
数据类型
JavaScript是一种弱类型语言,在声明变量的同时不需要声明变量的类型,并且可以在任何阶段改变变量的数据类型。
JavaScript中的数据类型:
1,字符串
字符串由零个或者多个字符组成,字符串必须在引号里,单引号双引号均可。
如果字符串中包含单引号,可以将其放在双引号中或者放在单引号中使用转义字符。即:
var mood = "don't ask";
var mood = 'don\'t ask';
如果字符串包含双引号,同理。
在整个脚本中对字符串使用相同的引号格式是一个良好的编程习惯。
2,数值
JavaScript中数值可以为整数和浮点数
3,布尔值
只有两种可能取值:true和false
数组
可以使用数组存储多个值,并且这多个值的类型也可不相同。使用Arrary声明数组。
例:
var beatles = Array(4);
上面的语句声明了有四个元素的数组。
向数组中添加元素的行为称为填充。在填充时,需给出数组的名字和下标。
如:beatles[0] = "John";
注:JavaScript中数组的下标从0开始。
如果不知道数组的长度,也可以这样声明:
var beatles = Array();
下面的方式也是可以的:
var beatles = ["John", "Paul"]; //使用方括号创建数组
var lennon = ["John", 1940, false]; //在数组中包含不同类型的值
var mbeatles = []; //使用方括号创建空数组
mbeatles[0] = lennon; //数组包含其他的数组
其中,mbeatles[0][0]为"John"。
关联数组:使用字符串作为数组下标的数组
var lennon = [];
lennon["name"] = "John";
lennon["year"] = 1940;
lennon["living"] = false;
不推荐使用。
对象
与数组类似,对象也是使用一个名字表示一组值,对象的每个值都是对象的一个属性。如:
var lennon = Object();
lennon.name = "john";
lennon.year = 1940;
lennon.living = false;
上面的代码使用Object关键字来创建对象,也可以使用花括号来创建对象
{propertyName:value,....}花括号中也可为空。例:
var lennon = {name:"John", year:1940, living:false};
三,操作
常用操作符:+ 、-、 *、 /
还有:自加:++、自减:--
加运算符可以运用于字符串和数值数据、字符串数据的相加。
还有+=、-=等等。
四、条件语句
if(condition){statements;} //condition为布尔类型
比较操作符
常见的比较运算符:>,<,>=,<=,==,===,!=,!==
其中===为严格等于,!==为严格不等于
其中==有如下效果:
var a = false, b = "";
a == b 的结果为true。
逻辑操作符
逻辑与:&&
逻辑或:||
逻辑非:!
五,循环语句
while循环:
while(condition){statements;}
do {statements;}while(condition)
for循环
for(initial condition; test condition,; alter condition){statements;}
六,函数
定义函数的语法:
function name(arguments){
statements;
}
变量的作用域
全局变量:可以在脚本中的任何位置被引用。作用域为整个脚本。
局部变量:只存在于声明它的函数的内部。
在函数中声明的局部变量和全局变量同名时,全局变量被屏蔽。
七,对象
对象是一种非常重要的数据类型,是自包含的数据集合,包含在对象中的数据可以通过两种形式访问-属性和方法。
属性:隶属于某个特定对象的变量
方法:只有某个特定对象才能调用的函数
对象就是由一些属性和方法组合在一起而构成的一个数据实体
在JavaScript里,属性和方法都使用“点”语法来访问
Object.property
Object.method()
对象需要实例化才能够被使用,使用new运算符对对象进行实例化
如:var John = new Person;
内建对象
内建对象:JavaScript预先定义的对象,我们可以直接拿来用。
宿主对象
除了内建对象,还可以在JavaScript脚本中使用一些已经预定义好的其他对象。这些对象不是由JavaScript语言本身而是由它的运行环境提供的。具体到Web应用,这个环境就是浏览器,由浏览器提供的预定义对象被称为宿主对象。
JavaScript DOM编程艺术学习笔记-第二章JavaScript语法的更多相关文章
- JavaScript DOM编程艺术学习笔记-第一章JavaScript简史
一,JavaScript的起源 JavaScript是Netscape与Sun公司合作开发,它是一种脚本语言,通常只能通过Web浏览器去完成一些操作.JavaScript为程序员提供了一些操控Web浏 ...
- 《DOM Scripting》学习笔记-——第二章 js语法
<Dom Scripting>学习笔记 第二章 Javascript语法 本章内容: 1.语句. 2.变量和数组. 3.运算符. 4.条件语句和循环语句. 5.函数和对象. 语句(stat ...
- JavaScript DOM编程艺术学习笔记(一)
嗯,经过了一周的时间,今天终于将<JavaScript DOM编程艺术(第2版)>这本书看完了,感觉受益匪浅,我和作者及出版社等等都不认识,无意为他们做广告,不过本书确实值得一看,也值得推 ...
- JavaScript DOM编程艺术-学习笔记
发现基础不是很好,补习一下.37买了2本书(dom编程和高级程序设计). 以前读书总是自己勾勾画画,有点没意思.现在写下来,说不定会成为传世经典.哈哈...........随便扯扯淡. 第一天(201 ...
- 【干货】JavaScript DOM编程艺术学习笔记4-6
四.案例研究:JavaScript图片库 js: function showPic(whichpic){ //取得链接 var source=whichpic.getAttribute("h ...
- JavaScript DOM编程艺术-学习笔记(第二章)
1.好习惯从末尾加分号:开始 2.js区分大小写 3.程序界万能的命名法则:①不以,数字开头的数字.字母.下划线.美元符号 ②提倡以下划线命名法来命名变量,以驼峰命名法来命名函数.但是到了公司往往会身 ...
- JavaScript DOM编程艺术-学习笔记(第八章、第九章)
第八章 1.小知识点: ①某些浏览器要根据DOCTYPE 来决定页面的呈现模式(标准模式 / 怪异模式--也称兼容模式): 兼容模式意味着浏览器要模仿老一辈的浏览器的怪异行为,来让老站点得到运行,并让 ...
- JavaScript DOM编程艺术-学习笔记(第七章)
第七章: 1.dom方法创建并且插入标签:(这种方法并没有改变文档的物理内容,而是在改变dom树) ①创建元素节点:createElement(); ②内部前插入:appendChild() ③创建文 ...
- JavaScript DOM编程艺术-学习笔记(第五章、第六章)
第五章: 1.题外话:首先大声疾呼,"js无罪",有罪的是滥用js的那些人.js的father 布兰登-艾克,当初为了应付工作,10天就赶出了这个js,事后还说人家js是c语言和s ...
随机推荐
- 数据结构与算法之Stack(栈)——in dart
用dart 语言实现一个简单的stack(栈).栈的内部用List实现. class Stack<E> { final List<E> _stack; final int ca ...
- 使用mac学习java的一些基本操作
使用mac学习java的一些基本操作 本文主要讲一下MacOS与windows的不同 iTerm2 使用mac的同学是不需要安装虚拟机来学习linux命令的.只需要使用iTerm2[下载地址]+zsh ...
- 20155321 2016-2017-2 《Java程序设计》第四周学习总结
20155321 2016-2017-2 <Java程序设计>第四周学习总结 教材学习内容总结 第六.七章 继承 多态 接口 相应的语法细节 继承 关键字 extends 格式 class ...
- 实验五 Java网络编程
实验五 Java网络编程 实验五 Java网络编程 实验五所涉及的密码学算法及编程思路 ## Java对称加密-DES算法 (1) 获取密钥生成器 KeyGenerator kg=KeyGenerat ...
- 2016-2017-2015329 《Java程序设计》第4周学习总结
学号 2016-2017-2015329 <Java程序设计>第4周学习总结 教材学习内容总结 面向对象有三大特性:封装.继承.多态 封装 封装是指,一种将抽象性函式接口的实例细节部份包装 ...
- 考研编程练习----Kruskal
#include <stdio.h> #include <stdlib.h> #define MAX 100 /* 定义边(x,y),权为w */ typedef st ...
- 【洛谷P2016】战略游戏
题面 题解 树形\(dp\)(最大独立集) 设\(f_{i,0/1}\)表示\(dp\)到第\(i\)个点,在这个点放了(没放)士兵的最小花费 直接转移即可. 代码 #include<cstdi ...
- 1109: [POI2007]堆积木Klo
1109: [POI2007]堆积木Klo https://lydsy.com/JudgeOnline/problem.php?id=1109 分析: 首先是dp,f[i]表示到第i个的最优值,f[i ...
- DSP28335声音降噪(未完成)
1. 确定使用的模块是Webrtc-NS,采集声音的芯片TLV32AIC23,实际测试发现Webrtc-NS无法使用,所以改成FIR滤波器. 从时域特性上来看,数字滤波器还可以分为有限冲激响应数字滤波 ...
- log4j 注意事项
因为项目是 ssm+maven 所以有关log4j的注意事项记录一下 首先,需要在web.xml里配置spring的拦截器用于支持在项目下生成log4j日志文件 <!-- 配置log4j输出日志 ...