JavaScript从入门到精通第二版 .pdf
基础知识总结。
一到八章节都是些基础知识,相比较”书籍:javascript+dom编程与艺术.pdf“讲的要细致点。
对它的总结可以看下这里 https://blog.csdn.net/weixin_53370274/article/details/121238740
一、基础
- language 设置所使用的脚本语言及版本
- src 设置一个外部脚本文件的路径链接
- type 设置所使用的脚本语言,此属性已代替language属性
- defer 此属性表示当html文档加载完毕后再执行脚本语言
设置后,浏览器不必等待脚本语言装载,这样页面加载会更快。
但当有一些脚本需要在页面加载过程中或加载完成后立即执行时,
就不需要使用defer属性。
- 通过 "javascript:"的方式来调用javascript的函数或方法
<a href="javascript:alert('click this link')">click</a>
- 与事件结合使用
<button onclick="alert('click')">click</button>
javascript程序按照在html文件中出现的顺序逐行执行。如果需要在整个html文件中执行(如函数、全局变量等),最好将其放在html文件的<head>...</head>
标记中。javascript大小写敏感,与html标签不同。在js中会忽略程序中的空格、换行和制表符,除非这些符号是字符串或正则表达式中的一部分。因此,可以在程序中随意使用这些特殊符号来进行排版,让代码更易阅读理解。js中换行能判断一个语句是否已经结束。
a=100
return false
这表示两个不同的语句。每行结尾的分号(;)可有可无。
注释//及/**/
二、数据类型
参考 https://blog.csdn.net/weixin_53370274/article/details/117876538
常量const及变量区分大小写。
- 关键字
— | — | — | — | — | — |
---|---|---|---|---|---|
abstract | continute | finally | instanceof | private | this |
boolean | default | float | int | public | throw |
break | do | for | interface | return | typeof |
type | double | function | long | short | true |
case | else | goto | native | static | var |
catch | extends | implements | new | super | void |
char | false | import | null | switch | while |
class | final | in | package | synchronized | with |
- 变量声明
var a,b,c;
var i = 1,j = 2,k = 3; - 比较运行算
== 等于根据表面值进行判断,不涉及数据类型。“17”==17 true
=== 绝对比较根据表面值和数据类型。“17”===17 false
!= !===同样的区别
// >>>增0右移 - typeof运算符用
于返回它的操作数据当前所容纳的数据的类型。这对于判断一个变量是否已经被定义特别有用。
var a = 3;
var b = “name”;
var c = null;
typeof(a) int
typeof(b) string
typeof© object
typeof返回值有6种可能:number string boolean object function undefined - new运算符
通过new运行符来创建一个新对象。
new construction[(arguments)]
var object1 = new Object;
var Array2 = new Array();
var Date3 = new Date(“20201111”); - 数据类型转换规则
js是一种无类型语言,在变量声明时无须指定数据类型。
在代码执行过程中,js会根据需要进行自动类型转换,但是转换时也要遵循一定的规则。 - 《转换为数值型数据》
类型 | 转换后的结果 |
---|---|
undefined | NaN |
null | 0 |
逻辑型 | true:1 false:0 |
字符串类型 | 若内容为数字,则结果为相应的数字,否则为NaN |
其他对象 | NaN |
- 《转换为逻辑型数据》
类型 | 转换后的结果 |
---|---|
undefined | false |
null | false |
数值型 | 0或NaN结果为false;否则为true |
字符串类型 | 若长度为0,结果为false;否则为true |
其它对象 | true |
- 《转换为字符串型数据》
类型 | 转换后的结果 |
---|---|
undefined | “undefined” |
null | “NaN” |
数值型 | Nan 0或与数值相对应的字符串 |
逻辑型 | 若为true,结果为"true";false结果为"false" |
其它对象 | 若存在,其结果为toString()方法的值,否则结果为"undefined" |
三、流程控制
都差不多
if else
if elseif else
switch
while
do…while
for
continute
break
四、函数
function functionname([parameter1,parameter2,...]){
statements;
[return expression;]
}
functionname必选项,parameter1可选项,statements必选项,expression可选项,用于返回函数值。
函数定义后不会自动执行,跟其它语言一样,需要我们在某个地方来调用。函数定义通常放在<head>中,执行通常放在<body>中。
如
- 1 函数简单调用
<html>
<head>
<script type="text/javascript">
function functionName(parameters){
//定义函数
some statments;
}
</script>
</head>
<body>
functionName(parameters);//调用函数
</body>
</html>
- 2 在事件响应中调用函数
function test(){
alert("hello js");
}
<form action="" method="post" name="form1">
<input type="button" value="submit" onclick="test();">
</form>
- 3 通过超链接调用函数
<a href="javascript:test();">test</a>
<script type="text/javascript">
function getValue(num1,num2){
return (num1+num2)/2;
}
</script>
<body>
document.write(getValue(10,20));
</body>
- 4 嵌套函数
在函数内部再定义一个函数,优点在于可使内部函数轻松获得外部函数的参数以及函数的全局变量等。
语法
<script type="text/javascript">
var outer=10;
function functionName(parameter1,parameters2){
function innerFunction(){
somestatments;
}
}
</script>
如
<script type="text/javascript">
var outer=20;
function add(number1,number2){
function innerAdd(){
alter (number1+number2+outer);
}
return innerAdd();
}
</script>
<body