Javascript Learning Notes

What is Javascript?

JavaScript, often abbreviated as JS, is a high-level, interpreted programming language that conforms to the ECMAScript specification. JavaScript has curly-bracket syntax, dynamic typing, prototype-based object-orientation, and first-class functions.

Alongside HTML and CSS, JavaScript is one of the core technologies of the World Wide Web. JavaScript enables interactive web pages and is an essential part of web applications. The vast majority of websites use it, and major web browsers have a dedicated JavaScript engine to execute it.

As a multi-paradigm language, JavaScript supports event-driven, functional, and imperative (including object-oriented and prototype-based) programming styles. It has APIs for working with text, arrays, dates, regular expressions, and the DOM, but the language itself does not include any I/O, such as networking, storage, or graphics facilities. It relies upon the host environment in which it is embedded to provide these features.

Initially only implemented client-side in web browsers, JavaScript engines are now embedded in many other types of host software, including server-side in web servers and databases, and in non-web programs such as word processors and PDF software, and in runtime environments that make JavaScript available for writing mobile and desktop applications, including desktop widgets.

1.JS入门

1.1 插入JS

注意, <script>标签要成对出现,并把JavaScript代码写在<script></script>之间。

<script type="text/javascript">表示在<script></script>之间的是文本类型(text),javascript是为了告诉浏览器里面的文本是属于JavaScript语言。

我们可以把HTML文件和JS代码分开,并单独创建一个JavaScript文件(简称JS文件),其文件后缀通常为.js,然后将JS代码直接写在JS文件中。

注意:在JS文件中,不需要<script>标签,直接编写JavaScript代码就可以了。

JS文件不能直接运行,需嵌入到HTML文件中执行,我们需在HTML中添加如下代码,就可将JS文件嵌入HTML文件中。

1
<script src="script.js"></script>

我们可以将JavaScript代码放在html文件中任何位置,但是我们一般放在网页的head或者body部分。

放在<head>部分

最常用的方式是在页面中head部分放置<script>元素,浏览器解析head部分就会执行这个代码,然后才解析页面的其余部分。

放在<body>部分

JavaScript代码在网页读取到该语句的时候就会执行。

注意: javascript作为一种脚本语言可以放在html页面中任何位置,但是浏览器解释html时是按先后顺序的,所以前面的script就先被执行。比如进行页面显示初始化的js必须放在head里面,因为初始化都要求提前进行(如给页面body设置css等);而如果是通过事件调用执行的function那么对位置没什么要求的。

1.2 注释

注释的作用是提高代码的可读性,帮助自己和别人阅读和理解你所编写的JavaScript代码,注释的内容不会在网页中显示。注释可分为单行注释与多行注释两种。

我们为了方便阅读,注释内容一般放到需要解释语句的结尾处或周围。

单行注释,在注释内容前加符号 “//”。

1
2
3
<script type="text/javascript">
document.write("单行注释使用'//'"); // 我是注释,该语句功能在网页中输出内容
</script>

多行注释以”/*“开始,以”*/“结束。

1
2
3
4
5
6
7
<script type="text/javascript">
document.write("多行注释使用/*注释内容*/");
/*
多行注释
养成书写注释的良好习惯
*/
</script>

1.3 变量

什么是变量? 从字面上看,变量是可变的量;从编程角度讲,变量是用于存储某种/某些数值的存储器。我们可以把变量看做一个盒子,为了区分盒子,可以用BOX1,BOX2等名称代表不同盒子,BOX1就是盒子的名字(也就是变量的名字)。

定义变量使用关键字var,语法如下:

1
var 变量名

变量名可以任意取名,但要遵循命名规则:

  1. 变量必须使用字母、下划线(_)或者美元符($)开始。
  2. 然后可以使用任意多个英文字母、数字、下划线(_)或者美元符($)组成。
  3. 不能使用JavaScript关键词与JavaScript保留字。

变量要先声明再赋值,如下:

1
2
3
var mychar;
mychar="javascript";
var mynum = 6;

变量可以重复赋值,如下:

1
2
3
var mychar;
mychar="javascript";
mychar="hello";

注意:

  1. 在JS中区分大小写,如变量mychar与myChar是不一样的,表示是两个变量。
  2. 变量虽然也可以不声明,直接使用,但不规范,需要先声明,后使用。

1.4 判断语句(if…else)

if…else语句是在指定的条件成立时执行代码,在条件不成立时执行else后的代码。

语法:

1
2
3
4
if(条件)
{ 条件成立时执行的代码 }
else
{ 条件不成立时执行的代码 }

假设我们通过年龄来判断是否为成年人,如年龄大于等于18岁,是成年人,否则不是成年人。代码表示如下:

1
2
3
4
5
6
7
<script type="text/javascript">
var myage = 18;
if(myage>=18) //myage>=18是判断条件
{ document.write("你是成年人。");}
else //否则年龄小于18
{ document.write("未满18岁,你不是成年人。");}
</script>

1.5 函数

函数是完成某个特定功能的一组语句。如没有函数,完成任务可能需要五行、十行、甚至更多的代码。这时我们就可以把完成特定功能的代码块放到一个函数里,直接调用这个函数,就省重复输入大量代码的麻烦。

如何定义一个函数呢?基本语法如下:

1
2
3
4
function 函数名()
{
函数代码;
}

说明:

  1. function定义函数的关键字。
  2. “函数名”你为函数取的名字。
  3. “函数代码”替换为完成特定功能的代码。

我们来编写一个实现两数相加的简单函数,并给函数起个有意义的名字:“add2”,代码如下:

1
2
3
4
function add2(){
var sum = 3 + 2;
alert(sum);
}

函数调用:

函数定义好后,是不能自动执行的,所以需调用它,只需直接在需要的位置写函数就ok了。

2.互动

2.1 输出内容(document.write)

document.write() 可用于直接向 HTML 输出流写内容。简单的说就是直接在网页中输出内容。

第一种:输出内容用””括起,直接输出””号内的内容。

1
2
3
<script type="text/javascript">
document.write("I love JavaScript!"); //内容用""括起来,""里的内容直接输出。
</script>

第二种:通过变量,输出内容

1
2
3
4
<script type="text/javascript">
var mystr="hello world!";
document.write(mystr); //直接写变量名,输出变量存储的内容。
</script>

第三种:输出多项内容,内容之间用+号连接。

1
2
3
4
<script type="text/javascript">
var mystr="hello";
document.write(mystr+"I love JavaScript"); //多项内容之间用+号连接
</script>

第四种:输出HTML标签,并起作用,标签使用””括起来。

1
2
3
4
5
<script type="text/javascript">
var mystr="hello";
document.write(mystr+"<br>");//输出hello后,输出一个换行符
document.write("JavaScript");
</script>

2.2 警告(alert 消息对话框)

我们在访问网站的时候,有时会突然弹出一个小窗口,上面写着一段提示信息文字。如果你不点击“确定”,就不能对网页做任何操作,这个小窗口就是使用alert实现的。

语法:

1
alert(字符串或变量);

看下面的代码:

1
2
3
4
5
<script type="text/javascript">
var mynum = 30;
alert("hello!");
alert(mynum);
</script>

注:alert弹出消息对话框(包含一个确定按钮)。

注意:

  1. 在点击对话框”确定”按钮前,不能进行任何其它操作。
  2. 消息对话框通常可以用于调试程序。
  3. alert输出内容,可以是字符串或变量,与document.write 相似。

2.3 确认(confirm 消息对话框)

2.

2.

3.DOM

Would you mind buy me a cup of coffee?