JavaScript第一部分

1.简介

1)JavaScript 是脚本语言:

JavaScript 是一种轻量级的编程语言。

JavaScript 是可插入 HTML 页面的编程代码。

JavaScript 插入 HTML 页面后,可由所有的现代浏览器执行。

<!-- 直接写入HTML输出流 -->
<!DOCTYPE html>
<html>
<head> 
<title>文档标题</title>
</head>
<script>
    document.write("<h1>这是一个标题</h1>");
    document.write("<p>这是一个段落。</p>");
</script>
</body>
</html>

<!-- 对事件的反应 -->
<button type="button" onclick="alert('欢迎!')">点我!</button>

2)改变 HTML 内容

<!DOCTYPE html>
<html>
<head> 
<meta charset="utf-8"> 
<title>111111</title> 
</head>
<body>
	
<h1>这是一个标题</h1>
<p id="demo">
id为demo,我是改变前。
</p>
<!-- 函数实现的功能为改变id为demo的元素内容 -->
<script>  
function myFunction()
{
	x=document.getElementById("demo");  // 通过id找到元素
	x.innerHTML="我是改变后";    // 改变内容
}
</script>
<!-- 点击按钮,函数为myFunction() -->
<button type="button" onclick="myFunction()">点击这里</button>
	
</body>
</html>

3)改变 HTML 图像

<script>
function changeImage()
{
    element=document.getElementById('myimage')
    if (element.src.match("bulbon"))
    {
        element.src="/images/pic_bulboff.gif";
    }
    else
    {
        element.src="/images/pic_bulbon.gif";
    }
}
</script>
<img loading="lazy" id="myimage" onclick="changeImage()" src="/images/pic_bulboff.gif" width="100" height="180">

以上实例中代码 element.src.match("bulbon") 的作用意思是:检索 <img id="myimage" οnclick="changeImage()" src="/images/pic_bulboff.gif" width="100" height="180"> 里面 src 属性的值有没有包含 bulbon 这个字符串,如果存在字符串 bulbon,图片 src 更新为 bulboff.gif,若匹配不到 bulbon 字符串,src 则更新为 bulbon.gif。

4)改变 HTML 样式

<script>
function myFunction()
{
	x=document.getElementById("demo") // 找到id为demo的元素
	x.style.color="#ff0000";          // 改变样式颜色为红色
}
</script>

5)验证输入

<!DOCTYPE html>
<html>
<head> 
<meta charset="utf-8"> 
<title>22222</title> 
</head>
<body>
	
<h1>标题</h1>
<!-- 输入框id为demo,类型为文本类型 -->
<input id="demo" type="text">
<!-- 触发的函数,对x赋值为取到的文本框值,不是数字会有弹窗提示 -->
<script>
function myFunction()
{
	var x=document.getElementById("demo").value;
	if(x==""||isNaN(x))
	{
		alert("不是数字");
	}
}
</script>
<!-- 一个按钮,触发一个函数myFunction(),按钮名称为点击这里 -->
<button type="button" onclick="myFunction()">点击这里</button>
	
</body>
</html>

<!-- 更严格的判断 -->
if(isNaN(x)||x.replace(/(^\s*)|(\s*$)/g,"")==""){
    alert("不是数字");
}

2.输出

JavaScript 显示数据

JavaScript 可以通过不同的方式来输出数据:

  • 使用 window.alert() 弹出警告框。

  • 使用 document.write() 方法将内容写到 HTML 文档中。

  • 使用 innerHTML 写入到 HTML 元素。

  • 使用 console.log() 写入到浏览器的控制台。

document.getElementById("demo") 是使用 id 属性来查找 HTML 元素的 JavaScript 代码 。

innerHTML = "段落已修改。" 是用于修改元素的 HTML 内容(innerHTML)的 JavaScript 代码。

3.语法

 字面量:数字(Number),字符串(String),表达式,数组(Array),对象(Object),函数(Function)

数组:[40, 100, 1, 5, 25, 10]

对象:{firstName:"John", lastName:"Doe", age:50, eyeColor:"blue"}

函数:function myFunction(a, b) { return a * b;}

JavaScript 使用关键字 var 来定义变量, 使用等号来为变量赋值

4.语法

<!DOCTYPE html>
<html>
<head> 
<meta charset="utf-8"> 
<title>11111</title> 
</head>
<body>

<h1>标题一</h1>
<p id="myPar">我是一个段落。</p>
<div id="myDiv">我是一个div。</div>
<!-- 点击事件,触发一个函数myFunction() -->
<p>
<button type="button" onclick="myFunction()">点击按钮</button>
</p>
<script>
function myFunction(){
	//将id为myPar的元素内的HTML内容改为你好世界!
	document.getElementById("myPar").innerHTML="你好世界!";
	document.getElementById("myDiv").innerHTML="你最近怎么样?";
}
</script>
<p>点击按钮,会改变元素内容</p>

</body>
</html>

注释:单行://     多行:/*  */

转义字符串:'It\'s alright'  =  It's alright     "He is called \"Johnny\"" = He is called "Johnny"

'He is called "Johnny"'  =  He is called "Johnny"

5.函数

函数是由事件驱动的或者当它被调用时执行的可重复使用的代码块。

1)带参数的函数

在调用函数时,您可以向其传递值,这些值被称为参数。

这些参数可以在函数中使用。

您可以发送任意多的参数,由逗号 (,) 分隔。

<!-- 按钮元素,myFunction函数有两个实参 -->
<button onclick="myFunction('Harry Potter','Wizard')">点击这里</button>
<script>
<!-- myFunction函数有两个形参 -->
function myFunction(name,job){
	alert("Welcome " + name + ", the " + job);
}
</script>

2)返回值的函数

在使用 return 语句时,函数会停止执行,并返回指定的值。

//函数返回值一个5的值
function myFunction()
{
    var x=5;
    return x;
}
//"demo" 元素的 innerHTML 将成为 5
document.getElementById("demo").innerHTML=myFunction();

局部 JavaScript 变量:在 JavaScript 函数内部声明的变量(使用 var)是局部变量

全局 JavaScript 变量:在函数外声明的变量是全局变量,网页上的所有脚本和函数都能访问它。

变量的生存期:JavaScript 变量的生命期从它们被声明的时间开始,局部变量会在函数运行以后被删除,全局变量会在页面关闭后被删除。

3)向未声明的 JavaScript 变量分配值

非严格模式下给未声明变量赋值创建的全局变量,是全局对象的可配置属性,可以删除。

var var1 = 1; // 不可配置全局属性
var2 = 2; // 没有使用 var 声明,可配置全局属性

console.log(this.var1); // 1
console.log(window.var1); // 1
console.log(window.var2); // 2

delete var1; // false 无法删除
console.log(var1); //1

delete var2; 
console.log(delete var2); // true
console.log(var2); // 已经删除 报错变量未定义

6.作用域

// 此处不能调用 carName 变量
function myFunction() {
//函数内局部变量
    var carName = "Volvo";
    // 函数内可调用 carName 变量
}

//函数外全局变量
var carName = " Volvo";
// 此处可调用 carName 变量
function myFunction() {
    // 函数内可调用 carName 变量
}


// 此处可调用 carName 变量
function myFunction() {
//函数内全局变量
    carName = "Volvo";
    // 此处可调用 carName 变量
}

7.事件

HTML 事件可以是浏览器行为,也可以是用户行为。

以下是 HTML 事件的实例:

  • HTML 页面完成加载
  • HTML input 字段改变时
  • HTML 按钮被点击

通常,当事件发生时,你可以做些事情。

//改变id为demo的元素的内容为现在的时间
<body>
<button onclick="getElementById('demo').innerHTML=Date()">现在的时间是?</button>
<p id="demo"></p>
</body>

//修改自身元素的内容 (使用 this.innerHTML):
<body>
<button onclick="this.innerHTML=Date()">现在的时间是?</button>
</body>

//通过事件属性来调用
<button onclick="displayDate()">点这里</button>
<script>
function displayDate(){
	document.getElementById("demo").innerHTML=Date();
}
</script>

 8. 字符串

\' == 单引号        \" == 双引号        \\ == 反斜杠        \n == 换行        \r == 回车

\t == tab(tab)        \b == 退格符        \f == 换页符

9.条件语句

条件语句

通常在写代码时,您总是需要为不同的决定来执行不同的动作。您可以在代码中使用条件语句来完成该任务。

在 JavaScript 中,我们可使用以下条件语句:

  • if 语句 - 只有当指定条件为 true 时,使用该语句来执行代码

  • if...else 语句 - 当条件为 true 时执行代码,当条件为 false 时执行其他代码

  • if...else if....else 语句- 使用该语句来选择多个代码块之一来执行

  • switch 语句 - 使用该语句来选择多个代码块之一来执行

10.DOM操作HTML 

1)JavaScript能够改变页面中所有的HTML元素;JavaScript能够改变页面中所有的HTML属性;JavaScript能够改变页面中所有CSS样式;JavaScript能够对页面中所有的事件做出反应。

2)

①改变HTML输出流:注意:不要在文档加载完之后使用document.write()。会覆盖该文档。

②寻找元素:通过id找到HTML元素(document.getElementById("pid"));

通过标签名找到HTML元素 (document.getElementsByTagName("p"))。

③改变HTML元素内容:使用元素,innerHTML

④改变HTML属性:使用属性(attribute)

前提:使用超链接属性<a></a>设置链接

           使用图片属性<img></img>设置图片

链接属性:href

图片属性:src

<!-- 链接属性更改并跳转 -->
<body>
    <a id="pid" href="http://www.baidu.com">这是百度网站</a>
    <button onclick="demo()">按钮</button>
    <script>
        function demo(){
            document.getElementById("pid").innerHTML="这是菜鸟教程";
            document.getElementById("pid").href="https://www.runoob.com/html/html-tables.html";
        }
    </script>
</body>

<!-- 图片属性更改并跳转 -->
<body>
    <img id="pid" src="img/111.jpg"></img>
    <button onclick="demo()">按钮</button>
    <script>
        function demo(){
            // document.getElementById("pid").innerHTML="这是菜鸟教程";
            document.getElementById("pid").src="img/222.jpg";
        }
    </script>
</body>

11.DOM操作CSS

1.通过DOM对象改变CSS,语法:document.getElementById(id).style.property=new style

//rel="stylesheet" 文档的外部样式表。
<head>
    <link rel="stylesheet" type="text/css" href="style.css">
</head>
<body>
    <div id="div" class="div">
        Hello
    </div>
    <button onclick="demo()">按钮</button>
    <script>
        function demo(){
            document.getElementById("div").style.background="blue";
        }
    </script>
</body>

12.DOM EventListener

方法:addEventListener(): 方法用于向指定元素添加事件句柄

          removeEventListener(): 移除方法添加事件句柄

//添加句柄写法
<body>
    <button id="btn">按钮</button>
    <script>
        document.getElementById("btn").addEventListener("click",function(){
            alert("hello")
        });
    </script>
</body>

//添加两个句柄
<body>
    <button id="btn">按钮</button>
    <script>
        //获取按钮id
        var x = document.getElementById("btn");
        //点击按钮,调用hello函数
        x.addEventListener("click",hello);
        //点击按钮,调用world函数
        x.addEventListener("click",world);
        //点击按钮,移除world函数
        x.removeEventListener("click",world);
        //hello函数
        function hello(){
            alert("Hello");
        }
        //world函数
        function world(){
            alert("World");
        }
    </script>
</body>

13.异常信息捕获

<body>
    <form>
        //文本信息输入
        <input id="txt" type="text">
        //按钮类型并定义按钮名称
        <input id="btn" type="button" onclick="demo()" value="按钮">
    </form>
    <script>
        function demo(){
            try{
                //获取文本内容
                var e = document.getElementById("txt").value;
                //如果为空提示请输入
                if(e==""){
                    throw "请输入";
                }
            }
            //捕获异常,并显示“请输入”
            catch (err){
                alert(err);
            }
        }
    </script>
</body>

14.事件

事件是可以被JavaScript侦测到的行为

事件描述
onClick

单击事件

onMouseOver鼠标经过事件
onMouseOut鼠标移出事件
onChange文本内容改变事件
onSelect        文本框选中事件
onFocus光标聚集事件
onBlur移开光标事件
onLoad网页加载事件
onUnload关闭网页事件
//鼠标进出
<body>
    <div class="div" onmouseout="onOut(this)" onmouseover="onOver(this)"></div>
    <script>
        function onOver(ooj){
            ooj.innerHTML = "Hello";
        }
        function onOut(ooj){
            ooj.innerHTML = "World";
        }
    </script>
</body>
//改变的事件
//选中对话框以及选中文本
<form>
     <input type="text" onchange="alert('hello,内容呢?')">
     <input type="text" onselect="changeDemo(this)" onfocus="changeDemo2(this)">
</form>
<script>
    function changeDemo(bg){
        bg.style.background="blue";
    }
    function changeDemo2(bg){
        bg.style.background="red";
    }
</script>
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值