java script概述

1.1 什么是java script?

Java script是Web页面中的一种脚本编程语言,也是一种通用的、跨平台的、基于对象和事件驱动并具有安全性的脚本语言。

1.2 JS的三大组成部分:

①ECMA Script:代表了语言的标准和规范;

·描述了语言的基本语法和数据类型。

②BOM:代表了浏览器;

·描述了浏览器窗口的操作和使用,被称为浏览器对象模型,抽象出的对象为Windows;

·通过BOM可以操作浏览器,比如:弹出框、浏览器跳转和获取分辨率等。

③DOM:代表了页面;

·描述了在浏览器中呈现给用户视觉显示的操作和使用,被称为文档对象模型,抽象出来的对象为Document;

·可以操作页面中的元素,比如:增加个div,减少个div或者给div换个位置等。

1.3 java script的地位:

Java script是前端开发工程师必须掌握的三种技能之一:

·描述网页内容的HTML;

·描述网页样式的CSS;

·描述网页行为的Java Script。

1.4 java script的作用:

Java script不需要进行编译,而是直接嵌入在HTML页面中,把静态页面转变成支持用户交互并响应事件的动态页面。

1.5 java script在HTML中的使用方式:

·内嵌式:在HTML文件中直接使用<script></script>标记将JavaScript脚本嵌入其中;

<body>

<script>alert("没有人点,我也hello world");</script>

</body>

·外链式:将代码放置在一个单独的.js文件中,使用时用script标签的src属性引入:

<body>

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

</body>

·行内式:将代码放置在HTML标签内,通过行为触发:

<body>

<input type="button" onclick="alert('hello world')" value="点我试试">

</body>

1.6 注意:

·内嵌和外联不能共用一个script标签;

·外链的script标签原则上可以放在任何位置;

·外链的属性是src。

2.1执行顺序:

·JavaScript程序按照在HTML文件中出现的顺序逐行执行。

·函数体内的代码,不会被立即执行,只有当所在的函数被调用时,该代码才会被执行。

2.2大小写敏感:

·JavaScript严格区分大小写,在输入语言的关键字、函数名、变量以及其他标识符时,都必须采用正确的大小写形式。

2.3空格与换行:

·在JavaScript中会忽略程序中的空格和换行,除非这些符号是字符串或者正则表达式的一部分;

·JavaScript中的换行有“断句”的意思,即换行能判断一个语句是否已经结束。

2.4 每行结尾的分号可有可无:

·最好的代码编写习惯是在每行代码的结尾处加上分号,这样可以保证代码的准确性。

2.5注释:

①注释的作用:

·可以解释程序某些语句的作用和功能,通常用于代码的解释说明;

·可以暂时屏蔽某些语句,是浏览器对其暂时忽略,通常用于代码的调试。

②注释的分类:

·单行注释:“//”;

·多行注释:“/*...*/”。

3.1数据类型:

·在JavaScript脚本语言中,采用的是弱类型的方式,即一个数据(变量或常量)不必先做声明,可以使用或赋值时,再确定其数据的类型。

3.1.1数值型:

·数值(Number)是最基本的数据类型。

·JavaScript和其他程序设计语言(如C和Java)的不同之处在于,它并不区别整型数值和浮点数值,所有的数值都是由浮点型表示的。

3.1.2字符串型:

·字符串(String)是由Unicode字符、数字、标点符号等组成的序列,它是JavaScript用来表示文本的数据类型。

3.1.3布尔型:

·布尔值通常在JavaScript程序中用来比较所得的结果,用于JavaScript的控制结构。

3.1.4特殊数据类型

3.1.4.1转义字符:

·以反斜杠开头的不可显示的特殊字符通常称为转义字符;

·常用的转义字符:

转义字符

说明

转义字符

说明

\b

退格

\v

跳格

\n

回车换行

\r

换行

\t

Tab符号

\\

反斜杠

\f

换页

\ooo

八进制数,范围为000-777

\’

单引号

\xHH

十六进制整数,范围为00-FF

\”

双引号

\uhhhh

十六进制编码的Unicode字符

·在“document.write()”语句中使用转义字符时,只有将其放在格式化文本块中才会起作用,所以脚本必须在<pre>和</pre>标记内。

<script>

document.write("<pre>");

document.write("轻松学习\nJavaScript语言!");

document.write("</pre>");

</script>

3.1.4.2未定义值(undefined)

·未定义类型的变量是undefined,表示变量未赋值或者被赋予了一个不存在的值;

·当程序由于某种原因发生错误后,将产生一个没有意义的数字,即NaN。

3.1.4.3 空值(null)

·用于定义空或不存在的引用。如果试图引用一个没有定义的变量,则返回一个null值;

·null不等于空的字符串(“”)或0;

·Null和undefined的区别:null表示一个变量被赋予一个空值,而undefined则表示该变量尚未被赋值。

3.2常量和变量:

·程序执行过程中,其值不能被改变的称为常量,其值能被改变的是变量。

3.2.1常量:

·常量是指在程序运行过程中保持不变的数据。

3.2.2变量:

·变量是指程序中一个已经命名的存储单元,其主要作用就是为数据操作提供存放信息的容器。

3.2.2.1 变量的命名规则:

·必须以字母或下划线开头,中间可以是数字、字母或下划线;

·不能包含空格、加号、减号等符号;

·不能适用JavaScript中的关键字和保留字;

·严格区分大小写。

3.2.2.2变量的声明与复制:

声明变量所遵循的规则:

·可以使用一个关键字var同时声明多个变量,例如:

<script>

var a,b,c; //同时声明多个变量

</script>

·可以在声明变量的同时对其赋值,即进行初始化,例如:

<script>

var a = 3,b = 4,c = 5; //同时声明多个变量,并对其赋值

</script>

·如果只是声明了变量,并未对其赋值,则其默认值为undefined;

·可以使用var语句多次声明同一个变量,如果重复声明的变量已经有一个初始值,那么此时相当于重新赋值;

3.2.2.3变量的作用域:

①:变量的作用域是指变量在程序中的有效范围;

②分类:

·全局变量:是定义在所有函数之外,作用于整个脚本代码的变量;

·局部变量:是定义在函数体内,只作用于函数体的变量(函数的参数也是局部性的,只在函数内部起作用);

③补充:

·给一个尚未声明的变量赋值时,JavaScript会自动用该变量名创建一个全局变量;

·要创建一个局部变量,不需要赋值给一个已经存在的局部变量,只需要用var声明;

3.2.2.4变量的生存期:

·变量的生存期是指变量在计算机中存在的有效时间:

·全局变量在主程序中定义,其有效范围从其定义开始,一直到本程序结束;

·局部变量在函数中定义,其有效范围从函数定义开始,到函数结束;

3)打印方式:

①alert( 要显示的信息或变量 )→弹出警告框;

②document.write( 要显示的信息或变量 )→在页面上打印;

③console.log( 要显示的信息或变量 )→在控制台输出。

补:

①关键字:typeof

②typeof 数据或变量;

typeof( 数据或变量 );

③typeof typeof 任何数据 结果必然是string