JavaWeb开发3

JavaScript

一门跨平台、面向对象的脚本语言,用来控制网页行为,能使网页可交互

js引入方式

  • 内部脚本:将JS代码定义在HTML页面中

    • JavaScript代码必须位于< script >< /script >

    • 在HTML文档中,可以在任意地方,放置任意数量的< script >

    • 一般会把脚本置于< body >元素的底部,可以改善显示速度

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

    • 外部JS文件中,只包含JS代码,不包含< script >标签

    • < script >标签不能自闭和

复制代码
<!--文件类型为HTML-->
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>焦点访谈</title>
<!--    内部脚本-->
<!--    <script>-->
<!--        alert("hello");-->
<!--    </script>-->
​
<!--    外部脚本-->
    <script src="JS/deno.js"></script>
</head>
<body>
​
</body>
​
</html>

JS书写语法

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

  • 每行结尾分号可有可无

  • 注释

    • 单行注释://

    • 多行注释:/* */

  • 大括号表示代码块

输出语句

  • 使用window.alert()写入警告框

  • 使用document.write()写入HTML输出

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

复制代码
<!--文件类型为HTML-->
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>焦点访谈</title>
​
</head>
<body>
​
</body>
​
<script>
    window.alert("hello");
    document.write("hellojs");
    console.log("hello3")
</script>
​
</html>

JS变量

  • 用var关键字来声明变量

  • 弱类型语言,变量可以存放不同类型的值

  • 变量名要遵循一定规则

    • 组成字符可以是字母、数字、下划线或美元符号

    • 数字不能开头

    • 建议使用驼峰命名

ECMAScript6

新增了let关键字来定义变量。用法类似于var,但所声明的变量只在let关键字所在的代码块内有效,且不允许重复声明

新增了const关键字,用来声明一个只读的变量。一旦声明,常量的值就不能改变

复制代码
<!--文件类型为HTML-->
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>焦点访谈</title>
​
</head>
<body>
​
</body>
​
<script>
    // var a="zhangsan";
    // alert(a);
    // 作用域比较大,全局变量
    // 可以重复定义
    // {
    //     var x="ok";
    //     // alert(x);
    //     var x="aa";
    // }
    // alert(x);
​
    // {
    //     let x=1;
    //     // alert(x);
    //     // let x=2;
    // }
    // alert(x);
​
    {
        const pi=3.14;
        // pi=3.15;
        alert(pi);
    }
</script>
​
</html>

JS数据类型

  • JavaScript这分为原始类型和引用类型

    原始类型

    • number:数字

    • string:字符串,单双引皆可

    • boolean:布尔,true、false

    • null:对象为空

    • undefined:当声明的变量未初始化时,默认为undefined

    使用typeof运算符可以获取数据类型

运算符

==会进行类型转换,===不会

类型转换

  • 字符串类型转数字

    • 如果字面值不是数字,则转为NaN
  • 其他类型转boolean

    • Number:0和NaN为false,其他为true

    • String:空字符串为false

    • Null和undefined:均转为false

流程控制语句

JS函数

  • 函数是被设计为执行特定任务的代码块

  • 通过关键字进行定义

    复制代码
    function functionName(参数){
        //要执行的代码
    }
  • 注意

    • 形式参数不需要类型,JavaScript是弱类型语言

    • 返回值不需要定义类型,可以直接return

  • 调用:函数名称(实际参数列表)

  • 定义方式二

    复制代码
    var functionName=function(参数){
        //要执行的代码
    }
复制代码
<!--文件类型为HTML-->
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>焦点访谈</title>
​
</head>
<body>
​
</body>
​
<script>
    // function add(a,b) {
    //     return a+b;
    // }
    // var res=add(2,3);
    // alert(res);
​
    var add=function (a,b) {
        return a+b;
    }
    var res=add(1,2);
    alert(res);
​
</script>
​
</html>
相关推荐
小蜜蜂嗡嗡2 小时前
【flutter对屏幕底部有手势区域(如:一条横杠)导致出现重叠遮挡】
前端·javascript·flutter
伍哥的传说3 小时前
Vue 3 useModel vs defineModel:选择正确的双向绑定方案
前端·javascript·vue.js·definemodel对比·usemodel教程·vue3.4新特性·vue双向绑定
CodeCraft Studio8 小时前
3D文档控件Aspose.3D实用教程:使用 C# 构建 OBJ 到 U3D 转换器
开发语言·3d·c#·3d渲染·aspose·3d文件格式转换·3d sdk
胡gh8 小时前
页面卡成PPT?重排重绘惹的祸!依旧性能优化
前端·javascript·面试
superlls8 小时前
(Redis)主从哨兵模式与集群模式
java·开发语言·redis
胡gh8 小时前
简单又复杂,难道只能说一个有箭头一个没箭头?这种问题该怎么回答?
javascript·后端·面试
言兴8 小时前
# 深度解析 ECharts:从零到一构建企业级数据可视化看板
前端·javascript·面试
山有木兮木有枝_9 小时前
TailWind CSS
前端·css·postcss
烛阴9 小时前
TypeScript 的“读心术”:让类型在代码中“流动”起来
前端·javascript·typescript
杨荧9 小时前
基于Python的农作物病虫害防治网站 Python+Django+Vue.js
大数据·前端·vue.js·爬虫·python