一、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语法的更多相关文章

  1. JavaScript DOM编程艺术学习笔记-第一章JavaScript简史

    一,JavaScript的起源 JavaScript是Netscape与Sun公司合作开发,它是一种脚本语言,通常只能通过Web浏览器去完成一些操作.JavaScript为程序员提供了一些操控Web浏 ...

  2. 《DOM Scripting》学习笔记-——第二章 js语法

    <Dom Scripting>学习笔记 第二章 Javascript语法 本章内容: 1.语句. 2.变量和数组. 3.运算符. 4.条件语句和循环语句. 5.函数和对象. 语句(stat ...

  3. JavaScript DOM编程艺术学习笔记(一)

    嗯,经过了一周的时间,今天终于将<JavaScript DOM编程艺术(第2版)>这本书看完了,感觉受益匪浅,我和作者及出版社等等都不认识,无意为他们做广告,不过本书确实值得一看,也值得推 ...

  4. JavaScript DOM编程艺术-学习笔记

    发现基础不是很好,补习一下.37买了2本书(dom编程和高级程序设计). 以前读书总是自己勾勾画画,有点没意思.现在写下来,说不定会成为传世经典.哈哈...........随便扯扯淡. 第一天(201 ...

  5. 【干货】JavaScript DOM编程艺术学习笔记4-6

    四.案例研究:JavaScript图片库 js: function showPic(whichpic){ //取得链接 var source=whichpic.getAttribute("h ...

  6. JavaScript DOM编程艺术-学习笔记(第二章)

    1.好习惯从末尾加分号:开始 2.js区分大小写 3.程序界万能的命名法则:①不以,数字开头的数字.字母.下划线.美元符号 ②提倡以下划线命名法来命名变量,以驼峰命名法来命名函数.但是到了公司往往会身 ...

  7. JavaScript DOM编程艺术-学习笔记(第八章、第九章)

    第八章 1.小知识点: ①某些浏览器要根据DOCTYPE 来决定页面的呈现模式(标准模式 / 怪异模式--也称兼容模式): 兼容模式意味着浏览器要模仿老一辈的浏览器的怪异行为,来让老站点得到运行,并让 ...

  8. JavaScript DOM编程艺术-学习笔记(第七章)

    第七章: 1.dom方法创建并且插入标签:(这种方法并没有改变文档的物理内容,而是在改变dom树) ①创建元素节点:createElement(); ②内部前插入:appendChild() ③创建文 ...

  9. JavaScript DOM编程艺术-学习笔记(第五章、第六章)

    第五章: 1.题外话:首先大声疾呼,"js无罪",有罪的是滥用js的那些人.js的father 布兰登-艾克,当初为了应付工作,10天就赶出了这个js,事后还说人家js是c语言和s ...

随机推荐

  1. Hbase(1)-MySQL海量数据存储的启发

    宽表拆分 有一张user表,记录了用户的信息,,如果表中的列有很多,就称之为宽表,为了提升效率,会进行垂直拆分 拆分后 将用户的信息分为基本信息和其他信息,页面一开打就需要展示的信息为基本信息,其他信 ...

  2. ARM设备树

    学习目标:学习设备树相关内容: 一.概念 在Linux 2.6中,ARM架构的板极硬件细节过多地被硬编码在arch/arm/plat-xxx和arch/arm/mach-xxx,在kernel中存在大 ...

  3. Spring Cloud学习入门路线方案

    Spring Cloud 为开发者提供了在分布式系统(如配置管理.服务发现.断路器.智能路由.微代理.控制总线.一次性Token.全局锁.决策竞选.分布式会话和集群状态)操作的开发工具.本Spring ...

  4. Java程序设计 第16周 课堂实践 —— 数据库3

    Java程序设计 第16周 课堂实践 -- 数据库3 课堂实践任务3 查询world数据库,获得New Jessey州所有城市的总人口数. 代码分析 实现查询数据库需要我们修改MessageDAO.j ...

  5. 20155216 2016-2017-2《Java程序设计》课程总结

    20155216 2016-2017-2<Java程序设计>课程总结 (按顺序)每周作业链接汇总 预备作业1:简要内容:我对师生关系的见解 预备作业2:简要内容:有关C语言学习调查以及学习 ...

  6. 20155230 2016-2017-2 《Java程序设计》第四周学习总结

    20155230 2016-2017-2 <Java程序设计>第四周学习总结 教材学习内容总结 1.使用extends进行扩充继承时private也会被继承但是子类不能在其中直接存取. 2 ...

  7. 20155322 2016-2017-2 《Java程序设计》 第一周学习总结

    20155322 2016-2017-2 <Java程序设计> 第一周学习总结 教材学习内容总结 本周学习内容的主要是: 一.浏览教材,根据自己的理解每章提出一个问题. 在浏览教材后,我提 ...

  8. 20155332 2016-2017-2 《Java程序设计》实验一 Java开发环境的熟悉

    实验内容 使用JDK编译.运行简单的Java程序: 使用IDEA 编辑.编译.运行.调试Java程序. 实验知识点 JVM.JRE.JDK的安装位置与区别: 命令行运行javac:java:javac ...

  9. QTC++监控USB插拔

    #if defined(Q_OS_WIN) #include <qt_windows.h> #include <QtCore/qglobal.h> #include <d ...

  10. QT在子窗口外单击关闭子窗口

    网上查到了好多种方法,1.添加过滤器(eventFilter),2.重写鼠标单击事件,这两种方法都要判断鼠标单击位置是不是在子窗口上.而且在可编辑控件上如(下拉框.文本编辑框等),父窗口会直接传递到可 ...