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 ...
随机推荐
- Delphi开发Android的几个注意
Delphi在Android开发中还不是很完善,也有一些修改,需要注意: 1.不要用IXMLDocument的SaveToStream, XML.Text等,用了OXML,QXML,VerySimpl ...
- T+固定资产二维码管理(生成,打印)
先 来几句生硬的开场白. 不知不觉中,二维码慢慢的取代了传统的条码.原因之一就是二维码更加的时尚,原因之二便是二维码可以存储更多的信息.......... 企业的固定资产,直接贴个二维码,然后用手机扫 ...
- c#开发微信公众号——关于c#对象与xml的转换
在成为微信公众号开发者以后,整个交互流程:用户->微信服务器->自己的服务器->返回微信服务器->用户: 举个例子:用户在微信公众号里面发了个“您好!”,微信服务器会以特定的x ...
- python3网络爬虫系统学习:第一讲 基本库urllib
在python3中爬虫常用基本库为urllib以及requests 本文主要描述urllib的相关内容 urllib包含四个模块:requests——模拟发送请求 error——异常处理模块 pars ...
- 《转》Pycharm创建py文件时自定义头部模板
File->settings->Editor->File and Code Templates->Python Script #!/usr/bin/env python # - ...
- Redis数据结构总结
Redis 字符串(String) SET runoobkey redis GET runoobkey Redis 哈希(Hash) Redis hash 是一个string类型的field和valu ...
- 虚拟机与Linux的初体验
很早的时候就知道虚拟机这个神奇东西的存在,但也仅仅是只闻其名,未见其身.后来在信息安全素质教育的这门课程上,为了做木马实验.暴力破解实验以及邮件窃取实验,这才比较直接的接触到了虚拟机.当我看着在另一个 ...
- 2 oracle 实现上下键翻历史命令 rlwrap
1.下载 rlwrap 环境:VMware虚拟机 redhat 7.0 oracle 12c 下载rlwrap:http://files.cnblogs.com/files/kil ...
- CentOS 6.8 curl支持的NSS修改为OpenSSL的方法
在CentOS 6.8的系统里面的curl支持的https是nss版本的,而不是openssl,所以在php使用curl访问https的时候会报Unable to load client key -8 ...
- sqlserver2008 数据库
删除数据库提示: 无法对 数据库'DBName' 执行 删除,因为它正用于复制 之前建立过此数据库的发布订阅,但是后来删掉了发布订阅,也将对应的作业停止了,仍然报这个错,遂用此命令强制删除发布: sp ...