JavaScript(三)常见对象和DOM

目录

常用对象

自定义对象Object

函数对象Function

数组对象Array

日期对象Date

HTML DOM(文档对象模型)

获取文档元素的方法

获取文档中的html内容

修改HTML文档


常用对象

数字对象方法:https://www.w3school.com.cn/js/js_number_methods.asp

字符串对象方法:https://www.w3school.com.cn/js/js_string_methods.asp

自定义对象Object

创建对象的目的:使用变量创建的数据都是独立的,通过对象可以将数据作为一个整体保存,要使用数据的时候就可以通过访问对象来获取。

创建对象的方法

方法一:var 变量名 = new Object();

方法二:var 变量名 = {};

方法三:var 变量名 = {属性名1:属性值,属性名2:属性值,...};  // 同方法二,不同的是在创建对象的时候直接添加了属性。

属性操作

添加:变量名.属性名 = 属性值;    // 不存在对应属性名时,会为对象添加这个属性

修改:变量名.属性名 = 属性值;    // 已存在对应属性名时会修改属性名对应的属性值

删除:delete 变量名.属性名;

获取属性值:变量名.属性名  或者   变量名[“属性名”]

<script>
    var person = {
      Name: "小张",
      Age : 23,
      Sex: "男",
      IF : function() {
        return this.Name + "今年" + this.Age + "岁";
      }
    };
    console.log(person.IF(),",并且他是" + person.Sex + "生。");
</script>

对象中使用对象里面的属性时可以使用关键字this,相当于python class类中的self,用来表示对象本身。属性值可以是一切对象。读取对象中没有的属性不会报错,而是返回一个undefined值

函数对象Function

常用的两种定义函数的方法

方法一:直接使用function关键字定义

语法:function 函数名(形参1,形参2,...){函数体}

调用:函数名(参数)

方法二:通过定义变量的方式定义

语法:var 函数名 = function(形参1,形参2,...){函数体}

获取定义函数形参个数的方法:函数名.length

不同于python,调用函数的时候如果所传的参数个数小于形参个数,不会报错,没有的参数返回的是undefined值。大于形参个数,多余的参数被忽略。

函数的不定长参数,类似于python中*arg,在JS中使用arguments数组对象来传入不定长的参数到函数中,获取传入参数个数的方法:arguments.length

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>函数</title>
</head>
<body>
    <script>
        function fun1 (a,b) {
            return a * b;   // 同python中的return,用来结束函数并返回数据
        }
        console.log(fun1.length)  // 通过函数的length方法获取函数的形参数数量
        console.log(fun1(2,9))
        
        var fun2 = function () {
            // 计算任何数的和的函数
            var sum = 0, a = 0;  // 定义在函数内部的变量为局部变量
            for (a; a<arguments.length; a++){
                sum += arguments[a];
            }
            return sum;
        }
        console.log(fun2(1.3,3.7))

    </script>
</body>
</html>

数组对象Array

数组是一种特殊的变量,用来在单一变量中存储多个值。

创建数组

方法一:var arrayname = [item1,item2,...];    // 数组文本方法,推荐使用

方法二:var arrayname = new Array (item1,item2,...);   //如果使用Array定义一个数组,里面的参数为一个数字的时候,只是定义了数组的长度,而数组内容为空。

数组对象的操作

访问获取数组元素:数组名[索引]

获取数组的长度:数组名.length

修改元素:数据名[索引] = 新值

追加元素:数组名.push = 值

添加元素:数组名[索引] = 值     //  添加元素并扩容

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>数组</title>
</head>
<body>
    <script>
        var arr1 = new Array(1,2,3);
        var arr2 = new Array(3);  // 如果使用Array定义一个数组,里面的参数为一个数字的时候,只是定义了数组的长度,而数组内容为空
        console.log(arr1);
        console.log(arr2);
        var arr3 = [1,3,5,8];
        console.log(arr3,arr3.length);   // arr3.length获取数组长度
        arr3[0] = 10;   // 修改数组中元素的值
        console.log(arr3);
        arr3[10] = "len";   // 数组扩容,将数组长度扩充到指定长度
        console.log(arr3,arr3.length);
    </script>
</body>
</html>

方法

作用

 

方法

作用

length

获取数组长度

 

shift()

删除最后一个元素

push()

追加元素

 

pop()

删除第一个元素

unshift()

添加元素

 

splice()

替换

indexOf()

索引

 

slice()

切片

join()

拼接

 

reverse()

取反

sort()

排序

 

concat()

连接多个数组

更多数组方法:https://www.w3school.com.cn/js

日期对象Date

创建日期对象:var date-name = new Date();

方法

作用

 

方法

作用

getFullYear

获取年

 

getMonth

获取月

getDate

获取日

 

getDay

获取周

getHours

获取时

 

getMinutes

获取分钟

getSeconds

获取秒

 

Date.now

时间戳

更多数组方法:https://www.w3school.com.cn/js

HTML DOM(文档对象模型)

当网页被加载时会自动创建DOM模型(Document Object Model),JS通过DOM模型可以修改HTML元素、属性、CSS样式,删除已有HTML元素和属性,新建和执行事件。

获取文档元素的方法

方法

描述

getElementById(“”)

通过id属性值获取

getElementsByClassName(“”)

通过class属性值获取元素,获取的元素存放在数组中

getElementsByTagName(“”)

通过标签名获取元素,获取的元素存放在数组中

getElementsByName(“”)

通过name的属性获取元素,一般用于input,获取的元素存放在数组中

querySelector (“”)

通过CSS选择器获取一个

querySelectorAll(“”)

通过CSS选择器获取所有,获取的元素存放在数组中

获取文档中的html内容

方法

描述

 innerHTML

从对象的起始位置到终止位置的全部内容,包括Html标签

 innerText

从起始位置到终止位置的内容, 但它去除Html标签

 textContent

textContent 属性设置或返回指定节点的文本内容,以及它的所有后代,此属性可用于取代 nodeValue 属性,但是此属性同时会返回所有子节点的文本

outerHTML

除了包含innerHTML的全部内容外, 还包含对象标签本身。

DOM文档方法:https://www.w3school.com.cn/js/js_htmldom_document.asp

修改HTML文档

改变HTML的输出流:document.write() 可以直接写入HTML输出流,千万不要在文档加载后使用 document.write()做会覆盖文档。

改变HTML的内容:document.getElementById(id).innerHTML = new text

获取和修改属性值:document.getElementById(id).属性名 = new属性值

获取和修改CSS样式:document.getElementById(id).style.样式名= new样式值

CSS样式操作的注意点:1、如果样式名中有‘-’,需要使用驼峰命名法,去掉‘-’并将‘-’后面的第一个字母大写,因为js会将‘-’当成减号使用产生报错。2、在css中因为存在内联样式和外联样式,修改时优先级高的生效。

获取元素的所有style属性:使用getComputedStyle(),里面的参数为要获取样式的元素和伪元素

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值