JavaWeb--前端--02JavaScript

1 JavaScript介绍

JavaScript,这门语言会让我们的页面能够和用户进行交互。

2 引入方式

第一种方式:内部脚本,将JS代码定义在HTML页面中(初学一天了用这个,后续使用这一种)

第二种方式:外部脚本,将JS代码定义在外部 JS文件中,然后引入到 HTML页面中

  • 外部JS文件中,只包含JS代码,不包含
// 外部
<script src="js/demo.js"></script>
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>JavaScript引入介绍</title>
    <!-- 内部脚本 -->
    <!-- <script>
        alert('Hello JS');
    </script> -->
    
    <!-- 外部脚本 -->
    <script src="js/demo.js"></script>
</head>
<body>
    
</body>
</html>

3 基础语法

3.1 书写语法

  • 区分大小写:与 Java 一样,变量名、函数名以及其他一切东西都是区分大小写的

  • 每行结尾的分号可有可无

  • 大括号表示代码块

js的三种输出语句

api描述
window.alert()警告框
document.write()在HTML 输出内容
console.log()写入浏览器控制台

3.2 变量

关键字解释
var早期ECMAScript5中用于变量声明的关键字,var关键字声明的变量可以重复定义
letECMAScript6中新增的用于变量声明的关键字,相比较var,let只在代码块内生效,let : 局部变量 ; 不能重复定义
const声明常量的,常量一旦声明,不能修改

3.3 数据类型和运算符

数据类型描述
number数字(整数、小数、NaN(Not a Number))
string字符串,单双引皆可
boolean布尔。true,false
null对象为空
undefined当声明的变量未初始化时,该变量的默认值是 undefined
<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>

<body>
    <script>
        //原始数据类型
        alert(typeof 3); //number
        alert(typeof 3.14); //number

        alert(typeof "A"); //string
        alert(typeof 'Hello');//string

        alert(typeof true); //boolean
        alert(typeof false);//boolean

        alert(typeof null); //object 

        var a;
        alert(typeof a); //undefined
    </script>

</body>

</html>
运算规则运算符
算术运算符+ , - , * , / , % , ++ , –
赋值运算符= , += , -= , *= , /= , %=
比较运算符> , < , >= , <= , != , == , =。 注意:== 会进行类型转换,= 不会进行类型转换
逻辑运算符&&,!,11
三元运算符条件表达式 ? true_value: false_value
  • ==:只比较是否相等,不区分数据类型,哪怕类型不一致,==也会自动转换类型进行值得比较
  • ===:不光比较值,还要比较类型,如果类型不一致,直接返回false
<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>

<body>
    <script>
        var age = 20;
        var _age = "20";
        var $age = 20;

        alert(age == _age);//true ,只比较值
        alert(age === _age);//false ,类型不一样
        alert(age === $age);//true ,类型一样,值一样
    </script>

</body>

</html>

在js中,虽然不区分数据类型,但是有时候涉及到数值计算,还是需要进行类型转换的,js中可以通过parseInt()函数来进行将其他类型转换成数值类型。注释之前的代码,添加代码如下:

// 类型转换 - 其他类型转为数字
alert(parseInt("12")); //12
alert(parseInt("12A45")); //12
alert(parseInt("A45"));//NaN (not a number)

在js中, 0,null,undefined,“”,NaN 理解成false,反之理解成true。

4 JS的函数

4.1 函数的第一种定义

function 函数名(参数1,参数2..){
    要执行的代码
}

例如

<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>JS-函数</title>
</head>

<body>
    <script>
        function add(a,b){
            return a+b;
        }
        var result = add(10, 20);
        alert(result);

    </script>
</body>

</html>

4.2 函数的第二中定义

var functionName = function (参数1,参数2..){   
    //要执行的代码
}

例如

<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>JS-函数</title>
</head>

<body>
    <script>
        // 第一种定义
        // function add(a,b){
        //     return a+b;
        // }

        //第二种定义
        var add = function (a, b) {
            return a + b;
        }

        var result = add(10, 20);
        alert(result);

    </script>
</body>

</html>

5 JavaScript对象

W3school -> JavaScript -> 参考书
点击进入:https://www.w3school.com.cn/jsref/index.asp

5.1 基本对象

5.1.1 Array对象

方式一:

var 变量名 = new Array(元素列表); 
var arr = new Array(1,2,3,4); //1,2,3,4 是存储在数组中的数据(元素)

方式二:

var 变量名 = [ 元素列表 ]; 
var arr = [1,2,3,4]; //1,2,3,4 是存储在数组中的数据(元素)
//定义数组
var arr = new Array(1, 2, 3, 4);
var arr = [1, 2, 3, 4];
//获取数组中的值,索引从0开始计数
console.log(arr[0]);
console.log(arr[1]);

与java中不一样的是,JavaScript中数组相当于java中的集合,数组的长度是可以变化的。

//特点: 长度可变 类型可变
var arr = [1, 2, 3, 4];
arr[10] = 50;

console.log(arr[10]);
console.log(arr[9]);
console.log(arr[8]);
var arr = [1, 2, 3, 4];
arr[10] = 50;

arr[9] = "A";
arr[8] = true;

console.log(arr);

官方文档中提供了Array的很多属性和方法,但是我们只学习常用的属性和方法,如下图所示:
属性:

属性描述
length设置或返回数组中元素的数量。

6 JS 事件

6.1 事件介绍

如下图所示的百度注册页面,当我们用户输入完内容,百度可以自动的提示我们用户名已经存在还是可以使用。那么百度是怎么知道我们用户名输入完了呢?

  • 按钮被点击
  • 鼠标移到元素上
  • 输入框失去焦点

6.2 事件绑定

JavaScript 对于事件的绑定提供了 2 种方式:

方式 1:通过 html 标签中的事件属性进行绑定

例如一个按钮,我们对于按钮可以绑定单机事件,可以借助标签的onclick属性,属性值指向一个函数。

<input type="button" id="btn1" value="事件绑定 1" onclick="on()">
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值