当前位置: 首页 > 工具软件 > Happy DOM > 使用案例 >

《JavaScript Dom编程艺术》学习笔记(一)

徐涵亮
2023-12-01

目录

第二章 JavaScript 语法

2.1 准备工作

2.2 语法

2.2.1 语句

2.2.2 注释

2.2.3 变量

2.2.4 数据类型

2.2.5 数组

2.2.6 对象

2.3 操作

2.4 条件语句

2.4.1 比较操作符

2.4.2 逻辑操作符

2.5 循环

2.5.1 while循环

2.5.2 for循环

2.6 函数

2.7 对象


第二章 JavaScript 语法

2.1 准备工作

2.2 语法

2.2.1 语句

2.2.2 注释

2.2.3 变量

1. js变量可直接赋值,无需声明,js中会自动声明,但提前声明是一种良好但编程习惯,js声明有以下3种方式:

        1.1 分别单独声明

                var mood;

                var age;

        1.2 多个变量一起声明

                var mood, age;

        然后再分别赋值

                mood = "happy";

                age = "33";

        1.3 这种声明和赋值是最有效的

                var mood = "happy", age = 33;

2. js中但变量是区分大小写的,例如 MOOD 与 mood 是两个无关联的变量;

3. js变量中只可包含字母、数字、下划线、$,且第一个字符不许是数字;

4. 命名规则:my_mood or myMood(驼峰式:一般用于函数名/方法名/对象属性名)

        附: js弹出式警告弹窗,此处用来打印变量;

        alert(mood);

        alert(age);

-------------------------case----------------------------------------

var mood = "happy", age = 33;

alert(mood);

alert(age);

---------------------------------------------------------------------

2.2.4 数据类型

1. 类型声明:声明变量的同时声明变量的数据类型,强类型语言才需要;

        js是弱类型语言,因此可以在任何阶段改变变量类型;

                var age = "thirty three";

                age = 33;

2. js中最重要的几种数据类型:

        2.1 字符串

        字符串可以包含在单引号 or 双引号里,可使用反斜线进行转义;

                var mood = "don't ask";

                var mood = 'don\'t ask';

        2.2 数值

        可以整数、浮点数、负数等;

                var age = 33.25;

                var temperature = -20;

                var temperature = -20.33333;

        2.3 布尔值

2.2.5 数组

1. 数组是指用一个变量表示一个值的集合

        先进行声明,然后进行填充,array[index] = element方式

                var beatles = Array();

                beatles[0] = "John";

                beatles[1] = "Paul";

                beatles[2] = "George";

                beatles[3] = "Ringo";

        简写:

                var beatles = Array("John", "Paul", "George", "Ringo");

        再简:

                var bearles = ["John", "Paul", "George", "Ringo"];

        数组元素可以是任意数据类型,也可以是变量,也可以是另一组数组的元素,或者包含其他数组

        var name = "Bigstar";

        var names = ["John", "Paul", "George", "Ringo"];

        var lennon = ["John", 1998, true, name, names[2],names];

        alert(lennon);

        alert(lennon[5][1]);

2. 关联数组

        更可读的填充数组的方式,存放数据的首选方式:将数据保存为对象;

        使用字符串来代替数字值,本质上,在创建关联数组时创建的是Array对象的属性,

        在JavaScript中,所有的变量实际上都是某种类型的对象,应该使用通用的对象(Object);

                var lennon = Array();

                lennon["name"] = "John";

                lennon["year"] = "1998";

                lennon["living"] = false;

                alert(lennon["living"]);

-------------------------case----------------------------------------

var lennon = Array();

lennon["name"] = "John";

lennon["year"] = "1998";

lennon["living"] = false;

alert(lennon["living"]);

---------------------------------------------------------------------

2.2.6 对象

1. 与数组类似,对象也是使用一个名字表示一组值,对象的每个值都是对象的一个属性;

                var lennon = Object();

                lennon.name = "John";

                lennon.year = 1998;

                lennon.living = false;

        花括号语法,{ propertyName: value, propertyName: value }

                var lennon = { name:"John", year:1998, living:false };

                var bearles = Array();

                bearles[0] = lennon;

                alert(bearles[0].name);

        进一步改进, bearles也升级为对象:

                var lennon = { name:"John", year:1998, living:false };

                var bearles = {};

                bearles.vocalist = lennon;

                alert(bearles.vocalist.name);

-------------------------case----------------------------------------

var lennon = { name:"John", year:1998, living:false };

var bearles = {};

bearles.vocalist = lennon;

alert(bearles.vocalist.name);

---------------------------------------------------------------------

2.3 操作

算术操作符,即加减乘除

        变量可以包含操作:

                var total = (1 + 4) * 5;

        也可以对变量进行操作:

                var temp_fahrenheit = 95;

                var temp_celsius = (temp_fahrenheit - 32) / 1.8;

        操作缩写:

                i++;

                i--;

        + 也可运用于字符串,俗称‘拼接’,也可通过变量完成:

                var mood = "happy";

                var age = 18;

                var message = "I am feeling " + "happy";

                var message = "I am feeling" + mood + year;

        字符串和数值拼接的区别:

                alert ("10" + 20); // 1020

                alert (10 + 20); // 30

        += 的运用,加法和赋值 or 拼接和赋值:

                var year = 2021;

                var message = "This year is ";

                message += year;

                alert(message); // This year is 2021

2.4 条件语句

        JavaScript 中的 if 语句,不一定需要花括号:

                if (1 > 2) {

                        alert("The world has gone mad!");

                }

        可以简写为:

                if (1 > 2) alert("The world has gone mad!");

2.4.1 比较操作符

        > < >= <= != ==

        == 并不表示严格相等,== 认为这俩的含义相同,返回true:

                var a = false;

                var b = "";

                if (a == b) {

                        alert("a equals b");

                }

        ===才会进行严格比较,===不仅比较值,而且会比较变量的类型,这俩类型不一样,返回flase;

                var a = false;

                var b = "";

                if (a === b) {

                        alert("a equals b");

                }

2.4.2 逻辑操作符

        && || !

2.5 循环

2.5.1 while循环

        1. while循环:先判断=ture后执行;

                var count = 1;

                while (count < 3) {

                        alert(count);

                        count++;

                }

        2. do...while循环:先执行do内容,后判断while条件;

                var count = 1;

                do {

                        alert(count);

                        count++;

                } while (count < 1);

2.5.2 for循环

        1. for循环:常用于数组元素遍历;

                var beatles = Array("John", "Paul", "George", "Ringo");

                for (var count = 0; count < beatles.length; count++) {

                        alert(beatles[count]);

                }

2.6 函数

        1. 利用函数来避免重复键入大量相同内容,语法:应该对函数做出定义再调用它们;

                function shout() {

                        var bearles = Array("John", "Paul", "George", "Ringo");

                        for (var count = 0; count < bearles.length; count++ ) {

                                alert(bearles[count]);

                        }

                }

                shout(); // 调用函数;

        2. 魅力所在:传递不同的数据,让这些数据完成预定的操作,传递给函数的数据称为'参数';

        JavaScript有许多内建函数,例如alert(),

                function multiply(num1, num2) {

                        var total = num1 * num2;

                        alert(total);

                }

                multiply(1,2);

        3. 函数不仅能以参数形式接收数据,还能返回数据:

        或者说,把函数的调用结果赋给一个变量:

                function multiply(num1, num2) {

                        var total = num1 * num2;

                        return total;

                }

                var num = multiply(1,2);

                alert(num);

        4. 命名规则:变量用下划线,函数用驼峰;

        5. 变量的作用域:全局变量 and 局部变量;

                function square(num) {

                        total = num * num; // 这里实则改变了全局变量

                        return total;

                }

                var total = 50;

                var number = square(20);

                alert(total); // 由于函数内调用了全局变量,所以这里total被函数改变了。

        遇到同名,用了var就是局部变量,可以避免任何形式的二义性隐患:

                function square(num) {

                        var total = num * num; // 函数内自己定义了一个局部变量total;

                        return total;

                }

                var total = 50;

                var number = square(20);

                alert(total); // total不受影响。

2.7 对象

        1. 对象是自包含的数据集合,包含在对象里的数据可以通过两种形式访问:属性 and 方法;

                属性:隶属于某个特定对象的变量;

                方法:只有某个特定对象才能调用的函数;

                对象:由一些属性和方法组合在一起而构成的一个数据实体;

                实例:对象的具体个体;

                        Object.property

                        Object.method()

        假设age,mood,是Person这个对象的属性,则:

                        Person.mood

                        Person.age

        假设Person还关联着其他函数,则这些函数就是这个对象的方法:

                        Person.walk()

                        Person.sleep()

        把这些属性和方法集合在一起,就得到了一个Person对象;

        为了使用Person对象来描述一个特定的人,需要创建一个Person对象的实例,

        使用 new 关键字创建新实例,Person对象的一个新实例jeremy:

                var jeremy = new Person;

        利用Person对象的属性检索关于jeremy信息:

                jeremy.age

                jeremy.mood

        2. 内建对象

                例如Array对象,使用 new 去初始化一个数组时,其实是在创建一个Array对象的新实例:

                var beatles = new Array();

        利用Array对象的length属性,获取数据元素个数:

                beatles.length;

        其他内建对象:Math对象 and Date对象;

        例如,Math对象的round方法可以把十进制数值舍入为与之对接近的整数:

                var num = 7.123;

                var num = Math.round(num);

                alert(num); // 7

        Date对象可以用来存储和检索与特定日期和时间有关的信息;

        例如,其中getDay()方法获取给定日期是星期几:

                var current_date = new Date();

                var today = current_date.getDay();

                alert(today);

        3. 宿主对象

        已经预先定义好的其他对象,但不是由JavaScript语言本身而是由它的运行环境提供的,

        即 由浏览器提供的预定义对象,称为宿主对象;

        宿主对象包括Form、Image 和 Element 等,通过这些对象获得关于网页上的表单、图像和各种表单元素等信息;

        document 对象,用来获得关于网页上的任何一个元素的信息;

 类似资料: