• HTML 定义了网页的内容
  • CSS 描述了网页的布局
  • JavaScript 控制了网页的行为
    前面的文章里面介绍了HTML,CSS 下面该轮到JavaScript了
    Java 和 JavaScript 是两门不同的编程语言。

位置

在HTML标签的事件侦听器中编写JavaScript代码

例如:

        <img src="media/apple.jpeg" alt="이미지"
            onmouseover="this.src='media/banana.jpg'" 
            onmouseout="this.src='media/apple.jpeg'">

onmouseover和onmouseout是事件侦听器属性。
This指向当前img标签的JavaScript关键字。
引号里面的就是JavaScript的代码

file
当鼠标放到图片上面以后图片就变成了香蕉
file

<!DOCTYPE html> 
<html> 
<head> 
        <title>js1</title> 
</head> 
<body> 
        <h3>click</h3> 
        <hr> 
        <img src="media/apple.jpeg" alt="이미지"
            onmouseover="this.src='media/banana.jpg" 
            onmouseout="this.src='media/apple.jpeg">
</body> 
    </html>

脚本可被放置在 HTML 页面的body和 head 部分中。

script标签

如需在 HTML 页面中插入 JavaScript,请使用 script标签。

<script> 和 </script> 会告诉 JavaScript 在何处开始和结束。

<script> 和 </script> 之间的代码行包含了 JavaScript:

例如:把上面的例子简单修改一下

<!DOCTYPE html> 
<html> 
<head> 
        <title>js1</title> 
        <script>
            function over(obj){
                obj.src="media/banana.jpg"
            }
            function out(obj){
                obj.src="media/apple.jpeg"
            }
        </script>
</head> 
<body> 
        <h3>click</h3> 
        <hr> 
        <img src="media/apple.jpeg" alt="이미지"
            onmouseover="over(this)" 
            onmouseout="out(this)">
</body> 
    </html>

外部js文件

也可以把脚本保存到外部文件中。外部文件通常包含被多个网页使用的代码。

外部 JavaScript 文件的文件扩展名是 .js。
在外部JavaScript文件里面不需要script的标签,直接JavaScript的代码就可以

例如myScript.js 文件代码如下:

function myFunction()
{
    document.getElementById("demo").innerHTML="我的第一个 JavaScript 函数";
}

但是如果要在html文件里面使用这个外部文件myScript.js
需要在 script标签的 "src" 属性中设置该 .js 文件:

<!DOCTYPE html>
<html>
<body>
<script src="myScript.js"></script>
</body>
</html>

在链接的href上编写JavaScript代码

file

<!DOCTYPE html>
 <html> 
     <head>
         <title>在链接的href上编写</title> 
    </head> 
        <body> 
            <h3>在链接的href上编写JavaScript代码</h3> 
            <hr> 
            <a href="javascript:alert('点击')">点击</a> 
        </body> 
</html>

HTML 内容输出到 JavaScript

用 JavaScript 将 HTML 内容直接嵌入网页
立即打印到浏览器窗口

file

<!DOCTYPE html> 
<html> 
    <head>
    <title>document.write() </title> 
    </head> 
    <body> 
    <h3>document.write() </h3> 
    <hr> 
    <script>
        document.write("<h3>Welcome!</h3>");
        document.write("2 + 5 는 <br>");
        document.write("<mark>7 입니다.</mark>"); 
    </script> 
    </body> 
    </html>

document.write() 和 document.writeln 都是JavaScript向客户端写入的方法,writeln是以行方式输出的,但并不是指页面实际效果中的换行,两种方法在查看源代码时才看得出区别

  • writeln 只是在字符串后面添加上“\r\n”,它并不会在网页显示的时候换行,只是输出的源代码换行而已。
  • 真正要想在显示的时候换行,请使用br标签
  • pre标签和code标签内的元素在显示的时候会保留源码中的空格或换行符。

    alert信息框


    alert() 方法用于显示带有一条指定消息和一个 OK 按钮的警告框。
    例如

    alert("hello world!");

confirm对话框

confirm() 方法用于显示一个带有指定消息和 OK 及取消按钮的对话框。
file
只关注这里的代码:

<script>
function show_confirm()
{
var r=confirm("Press a button!");
if (r==true)
  {
  alert("You pressed OK!");
  }
else
  {
  alert("You pressed Cancel!");
  }
}
</script>

当被点击OK的时候弹出信息框:You pressed OK!
当被点击取消的时候弹出信息框:You pressed Cancel!

语法

i=i+1
j=j+1;
k=k+1;m=m+1;

以上三种都可以

但是m=n+1 p=p+1 这种不可以需要逗号分割

注释


//这是注释

/*
注释
*/

变量

  • 变量必须以字母开头
  • 变量也能以 $ 和 _ 符号开头(不过我们不推荐这么做)
  • 变量名称对大小写敏感(y 和 Y 是不同的变量)

在定义变量的时候用var 后面跟上变量名

var x = 7;
var y = 8;
var z = x + y; 

下面的两行,第一行是正确的,第二行是错误的

var s;
int s;

局部变量

上面变量介绍的是局部变量
局部变量的特征是:

  • 声明变量的时候要带上var
    -只在声明的函数中使用

全局变量

还有一种变量叫全局变量

  • 在函数体内声明局部变量时,如果不使用 var 关键字,则将声明全局变量。
  • 没有使用var关键字声明,直接给变量名赋值,不管是在函数内部还是外部都是全局变量
  • 可以在整个程序中使用
var x; //全局变量
function f(){
    var y;//局部变量
    x=10;//给全局变量赋值10
    y=10;//给局部变量赋值10

    z=10;//声明一个全局变量z 并且初始化10 
}

在上面这段代码里面,我们关注z变量
z变量在函数里面并且没有使用var关键词声明,所以它是一个全局变量

本地变量和全局变量名称相同时

当本地变量和全局变量名称相同时,
我们如果想在函数内访问全局变量需要用到this关键字

var x; //全局变量
function f(){

    var x; //局部变量
    x=1;//给局部变量x赋值1

    this.x=100; // 给全局变量x赋值100

}

单引号和双引号

最外面用了双引号了,那么里面就不能再用双引号了,因为引号是成双对的,浏览器读到一个双引号后,到第2个双引号时才算结束;同理,浏览器读到一个单引号后,必须要读到第二个单引号才算结束,

比如说


<p onmouseover ="document.body.style.color='brown' ">

这里最外面是用的双引号,里面的brown就必须用单引号了

如果在引号里面使用相同的引号,需要用 \ 转义。
单引号转义为\'

双引号转义为\"

运算符

等号=

向变量赋值,并把它们相加:
var x = 7; // 向 x 赋值 5
var y = 8; // 向 y 赋值 2

加法+

把两个变量相加并赋值给z
var z = x + y;

减法 乘法 除法 取余类似

var x=32;
var total=100+x*2/4-3; //total是113

注意是先算乘除 再算加减

var div=32/10 //div=3.2

递加++ 递减--

这里要区分两种情况

第一种情况:++a
a=1
b=++a

这种情况实际上是 a=a+1 然后 b=a 所以结果b=2

还有一种情况:a++
a=1
b=a++

这种情况是
b=a=1
然后a=a+1

还有一种是:
a+=b 实际上是a=a+b

AND OR NOT

a&&b a and b a和b都是true才会返回true
a||b a or b a和b中只要有一个是true就返回true
!a not a如果是true就返回false 如果是false就返回ture

文本运算

"abc"+"de" //"abcde"
"abc"+23 //"abc23"
23+"abc" //"23abc"
23+"35" //"2335"
23+35 //58

23+35+"abc" //"58abc"
"abc"+23+35 //"abc2335"

var name ="kitae";
var res=(name=="kitae"); //比较结果相同所以res=true
var res=(name>"park"); //name的值“kitae”以字母顺序比“park”在前面 所以 res=false
// abcdefg.....k......p

if..else
switch

for
while
do-while

返回return

return用于返回值

function adder(a,b){
    var sum;
    sum=a+b;
    return sum;
}
var n=adder(10,20);

这里我们把值10和20传入函数并作为a和b
然后把它们两个相加赋值给sum
返回sum的值
变量n就接收到sum返回的值

eval() 函数

eval() 函数可计算某个字符串,并执行其中的的 JavaScript 代码。
相当于引号里面的就会被解析成JavaScript的代码


var res=eval("2*3+4*6");
// res=30

parseInt() 函数

parseInt() 函数可解析一个字符串,并返回一个整数。

parseInt("10"); //返回 10
parseInt("19",10); //返回 19 (10+9)
parseInt("11",2); //返回 3 (2+1)
parseInt("17",8); //返回 15 (8+7)
parseInt("1f",16); //返回 31 (16+15)
parseInt("010"); //未定:返回 10 或 8

isNaN() 函数

isNaN() 函数用于检查其参数是否是非数字值。

isNaN(32) //false
isNaN("32") //false
isNaN("hello") //true

最后修改:2022 年 03 月 08 日
如果觉得我的文章对你有用,请随意赞赏