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 ...
随机推荐
- mongo数据集合属性中存在点号(.)
基本知识点: 1.似乎mongo3.6之前不允许插入带点(.)或美元符号($)的键,但是当我使用mongoimport工具导入包含点的JSON文件时,它工作正常. 2.在使用spring-data-m ...
- mysql主键重复,不抱错,只更新的骚操作 (如果没有插入,如果有更新)
平时我们在设计数据库表的时候总会设计 unique 或者 给表加上 primary key 的限制条件. 此时 插入数据的时候 ,经常会有这样的情况: 我们想向数据库插入一条记录: 若数据表中存在以 ...
- HCNP - Server
Server DHCP配置 DHCP服务器配置: 第一种方法:自动配置 路由上面配置网关,开启dhcp服务 [R1]dhcp enable [R1-GigabitEthernet0/0/0]dhcp ...
- Dynamics CRM 常用的JS
常用JS(一) Xrm.Page.context.getUserId(): //获取当前用户id Xrm.Page.context.getUserName(): //获取当前用 ...
- Zeta--S3 Linux抓取一帧YUV图像后使用硬件编码器编码成H.264
#include <stdio.h> #include <stdlib.h> #include <string.h> #include <getopt.h&g ...
- Python学习 :面向对象 -- 类的成员
类的成员 一.字段 - 字段可以分为'普通字段'和'静态字段'两种 - 普通字段(保存在对象中,执行时只能通过对象来进行访问) - 静态字段(保存在类中,在内存中只保存一份数据(可以有效地节约内存的空 ...
- Rails中在model中获取当前登录用户
应用场景:更新系统操作记录时,记录操作人即当前登录用户 方法一:在线程中添加一个变量 class UsersController < ApplicationController before_a ...
- fdisk 命令总结
fdisk 侧重点是如何将一块硬盘,进行分区,格式化然后使用 fdisk --help 或者man fdisk可以帮助我们快速上手 划分sdb这块硬盘 1.fdisk /dev/sdb 进行分区 2. ...
- 关于makefile中自动产生依赖的理解
本博文是在学习了<GNU Make中文手册>后记录下来的自己的关于自动产生makefile依赖的语句的理解,向大家分享. <GNU make中文手册>中的相关章节见一下链接: ...
- 20155307 实验四 Android程序设计
在安装as的过程中一路顺风,一点问题都没有,但是在编译的时候总是出现错误,无论是我用自己的手机还是虚拟的手机都不能成功. 但是我上网百度,发现错误原因为compileSdkVersion的版本出了问题 ...