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转义字符:
·以反斜杠开头的不可显示的特殊字符通常称为转义字符;
·常用的转义字符:
转义字符 |
说明 |
转义字符 |
说明 |
退格 |
v |
跳格 |
|
|
回车换行 |
|
换行 |
|
Tab符号 |
\ |
反斜杠 |
f |
换页 |
ooo |
八进制数,范围为000-777 |
’ |
单引号 |
xHH |
十六进制整数,范围为00-FF |
” |
双引号 |
uhhhh |
十六进制编码的Unicode字符 |
·在“document.write()”语句中使用转义字符时,只有将其放在格式化文本块中才会起作用,所以脚本必须在<pre>和</pre>标记内。
<script>
document.write("<pre>");
document.write("轻松学习 JavaScript语言!");
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