JavaScript学习复习
JavaScript 输出
- 使用 window.alert() 弹出警告框。
- 使用 document.write() 方法将内容写到 HTML 文档中。
- 使用 innerHTML 写入到 HTML 元素。
- 使用 console.log() 写入到浏览器的控制台。
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>菜鸟教程(runoob.com)</title> </head> <body> <h1>我的第一个 Web 页面</h1> <p id="demo">我的第一个段落。</p> <button onclick="testAlert()">testAlert</button> <button onclick="testinnerHtml()">innerHTML</button> <button onclick="myFunction()">myFunction</button> <button onclick="testConsole()">console</button> <script src="test.js"></script> </body> </html>
js代码:
test.js
function myFunction() { document.getElementById("demo").innerHTML = "我的第一个 JavaScript 函数"; } function testinnerHtml() { document.getElementById("demo").innerHTML = "段落已修改。"; document.write(Date()); } function testConsole() { a = 5; b = 6; c = a + b; console.log(c); } function testAlert(){ window.alert("testAlert"); }
JavaScript 语法
数字:可以是整数或者是小数,或者是科学计数(e)。
3.14 1001 123e5
字符串:可以使用单引号或双引号。
"John Doe" 'John Doe'
数字表达式:
5 + 6 5 * 10
数组:
[40, 100, 1, 5, 25, 10]
对象:
{firstName:"John", lastName:"Doe", age:50, eyeColor:"blue"}
函数:
function myFunction(a, b) { return a * b;}
变量:
JavaScript 使用关键字 var 来定义变量, 使用等号来为变量赋值。
var x, length x = 5 length = 6
操作符:使用 算术运算符 来计算值。
JavaScript语句:
var x = 5 + 6; var y = x * 10;
例子:
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title></title> </head> <body> <p id="demo"></p> <button onclick="testVar()">testVar</button> <button onclick="testArithmeticOperators()">testArithmeticOperators</button> <script src="test.js"></script> </body> </html>
对应的js代码:
function testVar() { var length; length = 6; document.getElementById("demo").innerHTML = length; } /** * 算數操作符 */ function testArithmeticOperators() { document.getElementById("demo").innerHTML = (5 + 6) * 10; }
JavaScript 语句标识符
访问对象属性
person.lastName;
对象方法
name = person.fullName();
demo:
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title></title> </head> <body> <p id="demo">test</p> <button onclick="testObjectPropertie1()">调用对象属性方法1</button> <button onclick="testObjectPropertie2()">调用对象属性方法2</button> <button onclick="testObjectPropertie2()">调用对象方法fullName</button> <script type="text/javascript" src="test.js" ></script> </body> </html>
对应的Js代码:
/** * 调用对象属性1 */ function testObjectPropertie1() { var person = { firstName: "John", lastName: "Doe", id: 5566 }; //调用firstName,lastName document.getElementById("demo").innerHTML = person.firstName + " " + person.lastName; document.getElementById("demo").innerHTML = person["firstName"] + " " + person["lastName"]; } /** * 调用对象属性 */ function testObjectPropertie2() { var person = { firstName: "张", lastName: "小丽", id: 5566 }; document.getElementById("demo").innerHTML = person["firstName"] + " " + person["lastName"]; } /** * 调用person对象的方法fullName */ function testObjectMethod() { var person = { firstName: "张", lastName: "小丽", id: 5566, fullName: function() { return this.firstName + " " + this.lastName; } }; document.getElementById("demo").innerHTML = person.fullName(); }
调用带参数的函数
声明:
function myFunction(var1,var2) { 代码 }
带有返回值的函数
通过使用 return 语句就可以实现。
在使用 return 语句时,函数会停止执行,并返回指定的值。
局部 JavaScript 变量
在 JavaScript 函数内部声明的变量(使用 var)是局部变量,所以只能在函数内部访问它。(该变量的作用域是局部的)。
您可以在不同的函数中使用名称相同的局部变量,因为只有声明过该变量的函数才能识别出该变量。
只要函数运行完毕,本地变量就会被删除。
全局 JavaScript 变量
在函数外声明的变量是全局变量,网页上的所有脚本和函数都能访问它。
JavaScript 变量的生存期
JavaScript 变量的生命期从它们被声明的时间开始。
局部变量会在函数运行以后被删除。
全局变量会在页面关闭后被删除。
向未声明的 JavaScript 变量分配值
如果您把值赋给尚未声明的变量,该变量将被自动作为全局变量声明。
carname="Volvo";
例子:
界面代码:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>Js函数</title>
</head>
<body>
<p>点击这个按钮,来调用带参数的函数。</p>
<button onclick="jsMethod('Harry Potter','Wizard')">调用带参数的函数</button>
<button onclick="showReturn(100,200)">带有返回值的函数</button>
<p>简单计算器:</p>
<table border="1" style="position:center;">
<tr>
<td>第一个数:</td>
<td><input type="text" id="first" /></td>
</tr>
<tr>
<td>第二个数:</td>
<td><input type="text" id="twice" /></td>
</tr>
<tr>
<td colspan="2">
<button style="width:inherit" onclick="add()">+</button>
<button style="width:inherit" onclick="subtract()">-</button>
<button style="width:inherit" onclick="ride()">*</button>
<button style="width:inherit" onclick="devide()">/</button>
</td>
</tr>
<tr>
<td colspan="2" rowspan="2">
<p id="result"></p>
</td>
</tr>
</table>
<script type="text/javascript" src="test.js"></script>
</body>
</html>
js代码:
/** * 有参数的js方法 * @param {Object} name 名字 * @param {Object} job 工作 */ function jsMethod(name, job) { alert("Welcome " + name + ", the " + job); } /** * 有返回值的js方法 * @param {Object} a 参数1 * @param {Object} b 参数2 */ function jsMethod2(a, b) { return a * b + a / b; } function showReturn(a, b) { alert(jsMethod2(a, b)) } /** * 加 */ function add() { var first = document.getElementById("first").value; var twice = document.getElementById("twice").value; var result = Number(first) + Number(twice); setResult(result); } /** * 减 */ function subtract() { var first = document.getElementById("first").value; var twice = document.getElementById("twice").value; var result = Number(first) - Number(twice); setResult(result); } /** * 乘 */ function ride() { var first = document.getElementById("first").value; var twice = document.getElementById("twice").value; var result = Number(first) * Number(twice); setResult(result); } /** * 除 */ function devide() { var first = document.getElementById("first").value; var twice = document.getElementById("twice").value; var result = Number(first) / Number(twice); setResult(result); } /** * 加 减 乘 除 结果显示 * @param {Object} result */ function setResult(result) { document.getElementById("result").innerHTML = result; }
主要是加减乘数运算和有参函数,有返回值函数调用
常见的HTML事件
事件可以用于处理表单验证,用户输入,用户行为及浏览器动作:
- 页面加载时触发事件
- 页面关闭时触发事件
- 用户点击按钮执行动作
- 验证用户输入内容的合法性
- 等等 ...
可以使用多种方法来执行 JavaScript 事件代码:
- HTML 事件属性可以直接执行 JavaScript 代码
- HTML 事件属性可以调用 JavaScript 函数
- 你可以为 HTML 元素指定自己的事件处理程序
- 你可以阻止事件的发生。
- 等等 ...
字符串长度
可以使用内置属性 length 来计算字符串的长度。
特殊字符
字符串可以是对象
通常, JavaScript 字符串是原始值,可以使用字符创建: var firstName = "John"
但我们也可以使用 new 关键字将字符串定义为一个对象: var firstName = new String("John")
字符串属性和方法
字符串属性
字符串方法
JavaScript 比较 和 逻辑运算符
比较运算符
逻辑运算符
例子:
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title></title> </head> <body> <h2>比较运算符</h2> <p>x=5</p> <button onclick="comparisonOperators()">比较运算符</button> <p id="demo">x==8</p> <p id="demo1">x == 8</p> <p id="demo2">x == 5</p> <p id="demo3">x === 5</p> <p id="demo4">x != 8</p> <p id="demo5">x !== "5"</p> <p id="demo6">x!== 5</p> <p id="demo7">x > 8</p> <p id="demo8">x < 8</p> <p id="demo9">x >= 8</p> <p id="demo10">x <= 5</p> <h2>逻辑运算符</h2> <p> x=6 以及 y=3</p> <button onclick="logicalOperators()">比较运算符</button> <p id="comparisonOperatorsdemo">(x < 10 && y > 1)</p> <p id="comparisonOperatorsdemo1">(x==5 || y==5) </p> <p id="comparisonOperatorsdemo2">!(x==y)</p> <script> function comparisonOperators() { var x = 5; //等于 document.getElementById("demo").innerHTML = x == 8; document.getElementById("demo1").innerHTML = x == 5; //绝对等于(值和类型均相等) document.getElementById("demo2").innerHTML = x === "5"; document.getElementById("demo3").innerHTML = x === 5; //不等于 document.getElementById("demo4").innerHTML = x != 8; // 不绝对等于(值和类型有一个不相等,或两个都不相等) document.getElementById("demo5").innerHTML = x !== "5"; document.getElementById("demo6").innerHTML = x!==5; //大于 document.getElementById("demo7").innerHTML = x>8; //小于 document.getElementById("demo8").innerHTML = x < 8; //大于或等于 document.getElementById("demo9").innerHTML = x >= 8; //小于或等于 document.getElementById("demo10").innerHTML = x <= 5; } function logicalOperators(){ var x = 6; var y = 3; document.getElementById("comparisonOperatorsdemo").innerHTML = (x < 10 && y > 1); document.getElementById("comparisonOperatorsdemo1").innerHTML = (x==5 || y==5); document.getElementById("comparisonOperatorsdemo2").innerHTML = !(x==y); } </script> </body> </html>