JavaScript 基础知识(二)

前面已经介绍HTML和CSS,这两个是网页结构和样式,而负责控制网页行为的是javascript。浏览器上直接可以解释执行,而独立运行就需要nodejs集成运行环境。
01 - JavaScript函数定义和调用
函数是由事件驱动的或者当它被调用时执行的可重复使用的代码块。
-
函数定义
函数就是可以重复使用的代码块, 使用关键字 function 定义函数。
<script type="text/javascript">
// 函数定义
function fnAlert(){
alert('hello!');
}
</script>
-
函数调用
函数调用就是函数名加小括号,比如:函数名(参数[参数可选])
<script type="text/javascript">
// 函数定义
function fnAlert(){
alert('hello!');
}
// 函数调用
fnAlert();
</script>
上面这种函数是没有返回值的,下面定义有参数且有返回值的函数。
-
带参且有返回值的函数
定义函数时,函数如果有参数,参数放到小括号里面,函数如果有返回值,返回值通过 return 关键字来返回
<script type="text/javascript">
function fnAdd(iNum01,iNum02){
var iRs = iNum01 + iNum02;
return iRs;
alert('here!');
}
var iCount = fnAdd(3,4);
alert(iCount); //弹出7
</script>
这里的参数定义的时候叫形参,调用的时候叫实参。
函数中'return'关键字的作用:
1、返回函数中的值
2、执行完return函数执行结束
说明:
函数定义的格式:
function 函数名(参数[参数可选]){
// 函数的代码实现
...
}
函数调用的格式:
函数名(参数[参数可选])
02 - JavaScript变量的作用域
作用域是可访问变量的集合。
-
变量作用域的介绍
变量作用域就是变量的使用范围,变量分为:
-
局部变量
-
全局变量
定义:
在 JavaScript 中, 对象和函数同样也是变量。
在 JavaScript 中, 作用域为可访问变量,对象,函数的集合。
JavaScript 函数作用域: 作用域在函数内修改。
-
局部变量
变量在函数内声明,变量为局部变量,具有局部作用域。
局部变量:只能在函数内部访问。
<script type="text/javascript">
function myalert()
{
// 定义局部变量
var b = 23;
alert(b);
}
myalert(); // 弹出23
alert(b); // 函数外使用出错
</script>
-
全局变量
变量在函数外定义,即为全局变量。
全局变量有 全局作用域: 网页中所有脚本和函数均可使用。
<script type="text/javascript">
// 定义全局变量
var a = 12;
function myalert()
{
// 修改全局变量
a++;
}
myalert();
alert(a); // 弹出13
</script>
说明:
-
局部变量只能在函数内部使用
-
全局变量可以在不同函数内使用
03 - JavaScript条件语句
条件语句用于基于不同的条件来执行不同的动作。
通常在写代码时,您总是需要为不同的决定来执行不同的动作。您可以在代码中使用条件语句来完成该任务。
-
条件语句
在 JavaScript 中,我们可使用以下条件语句:
1. if 语句 - 只有当指定条件为 true 时,使用该语句来执行代码
2. if...else 语句 - 当条件为 true 时执行代码,当条件为 false 时执行其他代码
3. if...else if....else 语句- 使用该语句来选择多个代码块之一来执行
4. switch 语句 - 使用该语句来选择多个代码块之一来执行
格式:
if (condition)
{
当条件为 true 时执行的代码
}
示例:
if (5<20)
{
a="helle js";
}
if...else条件语句:
请使用 if....else 语句在条件为 true 时执行代码,在条件为 false 时执行其他代码。
格式:
if (condition)
{
当条件为 true 时执行的代码
}
else
{
当条件不为 true 时执行的代码
}
示例:
var x = 5;
if (x<20)
{
x=5;
}
else
{
x=20;
}
switch语句:
switch 语句用于基于不同的条件来执行不同的动作。
语法:
switch(n)
{
case 1:
执行代码块 1
break;
case 2:
执行代码块 2
break;
default:
与 case 1 和 case 2 不同时执行的代码
}
示例:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
</head>
<body>
<input id="test" type="text" />
<script>
var x;
var d = new Date().getDay();
switch (d) {
case 0: x = "今天是星期日";
break;
case 1: x = "今天是星期一";
break;
case 2: x = "今天是星期二";
break;
case 3: x = "今天是星期三";
break;
case 4: x = "今天是星期四";
break;
case 5: x = "今天是星期五";
break;
case 6: x = "今天是星期六";
break;
}
window.onload = function () {
var ss = document.getElementById("test");
ss.value = x
}
</script>
</body>
</html>
运行结果:

-
比较运算符
假如 x = 5, 查看比较后的结果:
| 比较运算符 | 描述 | 例子 |
| == | 等于 | x == 8 为 false |
| === | 全等(值和类型) | x === 5 为 true; x === "5" 为 false |
| != | 不等于 | x != 8 为 true |
| > | 大于 | x > 8 为 false |
| < | 小于 | x < 8 为 true |
| >= | 大于或等于 | x >= 8 为 false |
| <= | 小于或等于 | x <= 8 为 true |
比较运算符示例代码:
var iNum01 = 12;
var sNum01 = '12';
if(iNum01==12){
alert('相等!');
}
else{
alert('不相等!')
}
// "==" 符号默认会将符号两边的变量转换成数字再进行对比,这个叫做隐式转换
if(sNum01==12){
alert('相等!');
}
else{
alert('不相等!')
}
// "===" 符号不会转换符号两边的数据类型
if(sNum01===12){
alert('相等!');
}
else{
alert('不相等!')
}
// 多条件判断
var sFruit = "苹果";
if (sFruit == "苹果") {
alert("您选择的水果是苹果");
} else if (sFruit == "鸭梨") {
alert("您选择的水果是鸭梨");
} else {
alert("对不起,您选择的水果不存在!")
}
说明:
条件语句三种写法:
-
if 语句 适用于单条件判断
-
if else 语句 适用于两种条件的判断(成立和不成立条件判断)。
-
if else if else 语句 适用于多条件判断
04 - JavaScript获取标签元素
如果要控制页面行为,通常我们通过标签元素,来操作标签元素。
-
获取标签元素
可以使用内置对象 document 上的 getElementById 方法来获取页面上设置了id属性的标签元素,获取到的是一个html对象,然后将它赋值给一个变量,比如:
<script type="text/javascript">
var oDiv = document.getElementById('div1');
alert(oDiv);
</script>
<div id="div1">这是一个div元素</div>
说明:
上面的代码,如果把javascript写在元素的上面,就会出错,因为页面上从上往下加载执行的,javascript去页面上获取元素div1的时候,元素div1还没有加载。
解决方法有两种:
第一种方法:将javascript放到页面最下边:
<div id="div1">这是一个div元素</div>
<script type="text/javascript">
var oDiv = document.getElementById('div1');
alert(oDiv);
</script>
第二种方法:设置页面加载完成执行的函数,在执行函数里面获取标签元素。
<script type="text/javascript">
window.onload = function(){
var oDiv = document.getElementById('div1');
}
</script>
onload是页面所有元素加载完成的事件,给onload设置函数时,当事件触发就会执行设置的函数。
获取标签元素需要等待页面加载完成,使用document.getElementById('标签id')。
-
知识点回顾
本节介绍了javascript的函数定义和调用、变量作用域、条件语句和获取标签元素。
1、函数定义、无参无返回值函数和有参有返回值函数
2、变量分为局部和全局变量、局部变量无法在全局作用域中使用
3、条件语句是用来控制程序走向
4、js是通过内置对象document来获取标签元素,通常有8种方式,这里只介绍四种常用,如:
-
通过ID获取(getElementById)
-
通过name属性(getElementsByName)
-
通过标签名(getElementsByTagName)
-
通过类名(getElementsByClassName)
补充一下:
DOM的含义:文档对象模型(Document Object Model),是W3C组织推荐的处理可扩展置标语言的标准编程接口。简单理解就是 DOM 是关于如何获取、修改、添加或删除 HTML 元素的标准。我们用JavaScript对网页进行的所有操作都是通过DOM进行的。
工欲善其事,必先利其器!
作者:全栈测试开发日记
出处:https://www.cnblogs.com/liudinglong/
csdn:https://blog.csdn.net/liudinglong1989/
微信公众号:全栈测试开发日记
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。

浙公网安备 33010602011771号