发帖
 找回密码
 立即注册
搜索
0 0

分享 20250303 Web渗透系统班 第二十一课 樊子健

技术分享 1108 0 2025-4-28 15:44:50
JavaScript 基础

01 什么是javascript


JavaScript(简称“JS”)是当前最流行、应用最广泛的客户端脚本语言之一,用来在网页中添加一些动态效果与交互功能,在 Web 开发领域有着举足轻重的地位。

JavaScript 与 HTML 和 CSS 共同构成了我们所看到的网页,其中:
HTML 用来定义网页的内容,例如标题、正文、图像等;
CSS 用来控制网页的外观,例如颜色、字体、背景等;
JavaScript 用来实时更新网页中的内容,例如从服务器获取数据并更新到网页中,修改某些标签的样式或其中的内容等,可以让网页更加生动。


02 javascript可以做什么
JavaScript 可以用于 Web 开发的各个领域,例如:Web 应用开发:日常生活中我们所浏览的网页都是由 HTML、CSS、JavaScript 构成的,通过 JavaScript 可以实时更新网页中元素的样式,并可以实现人与网页之间的交互(例如监听用户是否点击了鼠标或按下了某个按键等),还可以在网页中添加一些炫酷的动画;
        移动应用开发:除了可以进行 Web 应用开发外,JavaScript 还可以用来开发手机或平板电脑上的应用程序,而且我们还可以借助一些优秀的框架(例如 React Native),让开发更加轻松;
        Web 游戏:我们在网页中玩过的那些小游戏,都可以使用 JavaScript 来实现;
        后端 Web 应用开发:以前我们都是使用 JavaScript 来进行 Web 应用程序前端部分的开发,但随着 Node.JS(一个 JavaScript 运行环境)的出现,使得 JavaScript 也可以用来开发 Web 应用程序的后端部分。

什么是node.js
JavaScript 诞生于 1995 年,几乎是和互联网同时出现;Node.js 诞生于 2009 年,比 JavaScript 晚了 15 年左右。

在 Node.js 之前,JavaScript 只能运行在浏览器中,作为网页脚本使用,为网页添加一些特效,或者和服务器进行通信。有了 Node.js 以后,JavaScript 就可以脱离浏览器,像其它编程语言一样直接在计算机上使用,想干什么就干什么,再也不受浏览器的限制了。

Node.js 不是一门新的编程语言,也不是一个 JavaScript 框架,它是一套 JavaScript 运行环境,用来支持 JavaScript 代码的执行。



03 JavaScript 的特点
JavaScript 具有以下特点:

1) 解释型脚本语言
JavaScript 是一种解释型脚本语言,与 C、C++ 等语言需要先编译再运行不同,使用 JavaScript 编写的代码不需要编译,可以直接运行。

2) 面向对象
JavaScript 是一种面向对象语言,使用 JavaScript 不仅可以创建对象,也能操作使用已有的对象。

3) 弱类型
JavaScript 是一种弱类型的编程语言,对使用的数据类型没有严格的要求,例如您可以将一个变量初始化为任意类型,也可以随时改变这个变量的类型。

4) 动态性
JavaScript 是一种采用事件驱动的脚本语言,它不需要借助 Web 服务器就可以对用户的输入做出响应,例如我们在访问一个网页时,通过鼠标在网页中进行点击或滚动窗口时,通过 JavaScript 可以直接对这些事件做出响应。

5) 跨平台
JavaScript 不依赖操作系统,在浏览器中就可以运行。因此一个 JavaScript 脚本在编写完成后可以在任意系统上运行,只需要系统上的浏览器支持 JavaScript 即可。
WEB渗透测试工程师系统班250303
21节课作业
一、列出javascript两种写法 内嵌 和外部
内嵌:

        <!DOCTYPE html>
        <html>
                <head>
                        <meta charset="utf-8">
                        <title>javascript基础</title>
                        <script type="text/javascript">
                                alert("404");
                        </script>
                </head>
                <body>
                </body>
        </html>

外部:
<!DOCTYPE html>
<html>
        <head>
                <meta charset="utf-8">
                <title>javascript基础</title>
                <script type="text/javascript" src="./cc.js"></script>
        </head>
        <body>
        </body>
</html>


cc.js文件内容

        alert("404");


二、 变量是什么?

变量是所有编程语言的基础之一,可以用来存储数据,例如字符串、数字、布尔值、数组等,并在需要时设置、更新或者读取变量中的内容。我们可以将变量看作一个值的符号名称。

三、 列出JavaScript的数据类型
1、javascript基本数据类型

        1) String 类型

                字符串(String)类型是一段以单引号''或双引号""包裹起来的文本,例如 '123'、"abc"。需要注意的是,单引号和双引号是定义字符串的不同方式,并不是字符串的一部分。

                定义字符串时,如果字符串中包含引号,可以使用反斜杠\来转义字符串中的引号,或者选择与字符串中不同的引号来定义字符串,如下例所示:

                                var str = "Let's have a cup of coffee.";         // 双引号中包含单引号
                                var str = 'He said "Hello" and left.';            // 单引号中包含双引号
                                var str = 'We\'ll never give up.';                // 使用反斜杠转义字符串中的单引号
       

        2)Number 类型

                数值(Number)类型用来定义数值,JavaScript 中不区分整数和小数(浮点数),统一使用 Number 类型表示,如下例所示:

                                var num1 = 123;             // 整数
                                var num2 = 3.14;            // 浮点数

                注意:Number 类型所能定义的数值并不是无限的,JavaScript 中的 Number 类型只能表示 -(253 - 1) 到 (253 -1) 之间的数值。

                Number 类型中还有一些比较特殊的值,分别为 Infinity、-Infinity 和 NaN,其中

                        Infinity:用来表示正无穷大的数值,一般指大于 1.7976931348623157e+308 的数;

                        -Infinity:用来表示负无穷大的数值,一般指小于 5e-324 的数;

                        NaN:即非数值(Not a Number 的缩写),用来表示无效或未定义的数学运算结构,例如 0 除以 0。

                提示:如果某次计算的结果超出了 JavaScript 中 Number 类型的取值范围,那么这个数就会自动转化为无穷大,正数为 Infinity,负数为 -Infinity。

       
        3)boolean类型

                布尔(Boolean)类型只有两个值,true(真)或者 false(假),在做条件判断时使用的比较多,
                除了可以直接使用 true 或 false 来定义布尔类型的变量外,还可以通过一些表达式来得到布尔类型的值,例如:

                                var a = true;                   // 定义一个布尔值 true
                                var b = false;                  // 定义一个布尔值 false
                                var c = 2 > 1;                  // 表达式 2 > 1 成立,其结果为“真(true)”,所以 c 的值为布尔类型的 true
                                var d = 2 < 1;                  // 表达式 2 < 1 不成立,其结果为“假(false)”,所以 c 的值为布尔类型的 false

       
        4)NULL类型

                Null 是一个只有一个值的特殊数据类型,表示一个“空”值,即不存在任何值,什么都没有,用来定义空对象指针。

                使用 typeof 操作符来查看 Null 的类型,会发现 Null 的类型为 Object,说明 Null 其实使用属于 Object(对象)的一个特殊值。
               
                因此通过将变量赋值为 Null 我们可以创建一个空的对象。

       
        5)Undefined 类型

                Undefined 也是一个只有一个值的特殊数据类型,表示未定义。当我们声明一个变量但未给变量赋值时,这个变量的默认值就是 Undefined。例如:

                                var num;
                                console.log(num);  // 输出 undefined


2、javascript引用数据类型


        1)Object 类型

                JavaScript 中的对象(Object)类型是一组由键、值组成的无序集合,定义对象类型需要使用花括号{ },语法格式如下:

                {name1: value1, name2: value2, name3: value3, ..., nameN: valueN}

                其中 name1、name2、name3、...、nameN 为对象中的键值,value1、value2、value3、...、valueN 为对应的值。

                在 JavaScript 中,对象类型的键都是字符串类型的,值则可以是任意数据类型。要获取对象中的某个值,可以使用对象名.键的形式,如下例所示:

                                var person = {
                                           name: 'Bob',
                                            age: 20,
                                            tags: ['js', 'web', 'mobile'],
                                            city: 'Beijing',
                                            hasCar: true,
                                            zipcode: null
                                        };
                                console.log(person.name);       // 输出 Bob
                                console.log(person.age);        // 输出 20


        2) Array 类型
       
                数组(Array)是一组按顺序排列的数据的集合,数组中的每个值都称为元素,而且数组中可以包含任意类型的数据。
               
                在 JavaScript 中定义数组需要使用方括号[ ],数组中的每个元素使用逗号进行分隔,例如:

                                [1, 2, 3, 'hello', true, null]

                另外,也可以使用 Array() 函数来创建数组,如下例所示:

                                var arr = new Array(1, 2, 3, 4);
                                console.log(arr);       // 输出 [1, 2, 3, 4]
                               
                数组中的元素可以通过索引来访问。数组中的索引从 0 开始,并依次递增,
               
                也就是说数组第一个元素的索引为 0,第二个元素的索引为 1,第三个元素的索引为 2,以此类推。如下例所示:
       
                       
                        var arr = [1, 2, 3.14, 'Hello', null, true];
                        console.log(arr[0]);  // 输出索引为 0 的元素,即 1
                        console.log(arr[5]);  // 输出索引为 5 的元素,即 true
                        console.log(arr[6]);  // 索引超出了范围,返回 undefined


        3)Function 类型

                函数(Function)是一段具有特定功能的代码块,函数并不会自动运行,需要通过函数名调用才能运行,如下例所示:

                        function sayHello(name){
                                    return "Hello, " + name;
                                }
                        var res = sayHello("Peter");
                        console.log(res);  // 输出 Hello, Peter

四、 JavaScript中定义变量的写法是?
在javascript中,定义变量需要使用var关键字,语法格式如下:

                               
                                        var 变量名;

                        示例演示:

                                var str;                        // 通常str变量名来存储字符串
                                var username;                        // 通常name变量名来存储名字
                                var age;                        // 通常age变量名来存储年龄


定义变量时,可以一次定义一个或多个变量,若定义多个变量,则需要在变量名之间使用逗号,分隔开,如下例所示:

                                        var a, b, c;    // 同时声明多个变量

                        变量定义后,如果没有为变量赋值,那么这些变量会被赋予一个初始值——undefined(未定义)。也就是没有定义值。

五、 js常见的函数写法有哪些
1、JS 定义函数
               
                JS 函数声明需要以 function 关键字开头,之后为要创建的函数名称,function 关键字与函数名称之间使用空格分开,

                函数名之后为一个括号( ),括号中用来定义函数中要使用的参数(多个参数之间使用逗号,分隔开),一个函数最多可以有 255 个参数,

                最后为一个花括号{ },花括号中用来定义函数的函数体(即实现函数的代码),如下所示:


                        function functionName(parameter_list) {
                                    // 函数中的代码
                                }

                示例代码如下:

                        function sayHello(name){
                                    document.write("Hello " + name);
                        }

                上面示例中定义了一个函数 sayHello(),该函数需要接收一个参数 name,调用该函数会在页面中输出“Hello ...”。
               

        2、JS 调用函数

                一旦定义好了一个函数,我们就可以在当前文档的任意位置来调用它。
       
                调用函数非常简单,只需要函数名后面加上一个括号即可,例如 alert()、write()。

                注意,如果在定义函数时函数名后面的括号中指定了参数,那么在调用函数时也需要在括号中提供对应的参数。


                示例代码如下:


                        function sayHello(name){
                                    document.write("Hello " + name);
                        }

                        // 调用 sayHello() 函数

                        sayHello('mamba');

                提示:JavaScript 对于大小写敏感,所以在定义函数时 function 关键字一定要使用小写,而且调用函数时必须使用与声明时相同的大小写来调用函数。


        3、参数的默认值

                在定义函数时,您可以为函数的参数设置一个默认值,这样当我们在调用这个函数时,如果没有提供参数,就会使用这个默认值作为参数值,如下例所示:

                        function sayHello(name = "World"){
                                    document.write("Hello " + name);
                        }
                        sayHello();                 // 输出:Hello World
                        sayHello('mamba');     // 输出:Hello mamba
──── 0人觉得很赞 ────
免责声明:
1、本论坛中所有用户发布的内容仅代表作者个人观点,与本网站立场无关,本站不对其真实性、完整性或观点承担任何责任。
2、本论坛所提供的全部信息与内容,不保证其准确性、完整性或时效性。因阅读或使用本站内容而产生的任何误导、损失或风险,本站概不承担任何连带或法律责任。
3、当国家司法、行政机关依照法定程序要求本论坛披露用户信息时,本站予以配合并因此免责。
4、因网络线路故障、技术问题、不可抗力或本站无法控制的其他原因导致的服务中断或暂停,本站不承担由此造成的任何直接或间接损失。
5、对于任何通过技术手段破坏、攻击本论坛系统或扰乱正常秩序的行为,本站有权采取包括但不限于限制账号、封禁账号、追究法律责任等措施。
您需要登录后才可以回帖 立即登录
高级模式
返回