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 ...
随机推荐
- ElasticSearch优化系列五:机器设置(硬盘、CPU)
硬盘对集群非常重要,特别是建索引多的情况.磁盘是一个服务器最慢的系统,对于写比较重的集群,磁盘很容易成为集群的瓶颈. 如果可以承担的器SSD盘,最好使用SSD盘.如果使用SSD,最好调整I/O调度算法 ...
- Redis API的理解与使用
目录 一.通用命令 二.数据结构与内部编码 三.单线程架构 一.通用命令 Redis有五种数据结构,它们是键值对中的值,对于键来说有一些通用的命令.Redis的全局通用命令有:keys,dbsize, ...
- Home Assistant系列 -- 接入手机摄像头做实时监控和人脸识别
准备一部废旧(土豪忽略,主要是穷)的.摄像头还是好的手机做监控设备,(Android 和iPhone都行)当Home Assistant 获得实时的视频流后,可以接入各种图像处理组件完成人脸识别,动作 ...
- UVA 400 - Unix ls (Unixls命令)
csdn : https://blog.csdn.net/su_cicada/article/details/86773007 例题5-8 Unixls命令(Unix ls,UVa400) 输入正整数 ...
- Backbone.js Basics: Bringing an App to Life with Events
http://www.sitepoint.com/backbone-basics-events/
- Java技术——Interface与abstract类的区别
)抽象类是对类抽象,是面向整个类的自下而上的设计理念,一般是先有各种子类,再有把这些有关系的子类加以抽象为父类的需求.而接口是对行为的抽象,是面向行为的自上而下的设计理念,接口根本就不需要知道子类的存 ...
- 优步UBER司机全国各地奖励政策汇总 (4月11日-4月17日)
滴快车单单2.5倍,注册地址:http://www.udache.com/ 如何注册Uber司机(全国版最新最详细注册流程)/月入2万/不用抢单:http://www.cnblogs.com/mfry ...
- win32api 找不到指定的模块
pywin32 安装后 import win32api 出现ImportError: DLL load failed: 找不到指定的模块 解决方法: 拷贝 C:\Python26\Lib\site-p ...
- SRM 563 500pts SpellCards
SpellCards 题意: 有n张符卡排成一个队列,每张符卡有两个属性,等级li和伤害di. 两种操作: 1.把队首的符卡移动到队尾:2.使用队首的符卡,对敌人造成di点伤害,并丢弃队首的li张符卡 ...
- centos7下mysql 开启远程登录
安装mysql 安装mysql就不做过多的介绍了,相信小伙伴们都可以很轻松的安装 进入mysql命令行 mysql -u用户名 -p密码 新建远程登录的用户 grant all on *.* to a ...