JavaScript基本知识点(中)

一、数组的分类

按照维数可分为一维数组、二维数组、三维数组...

1.1二维数组创建

<script>
    var stuInfo = [
        ['张三','男',18],
        ['李四','女',18]
    ]
</script>

1.2二维数组元素访问

语法:数组名称[外层数组下标][内层数组下标]

<script>
    //只获取李四
    stuInfo[1][0]
</script>

1.3二维数组遍历

<script>
    //遍历的外层数组
    for(var i=0;i<stuInfo.length;i++){
        //console.log(stuInfo[i]);
        //遍历内层数组
        for(var j=0;j<stuInfo[i].length;j++ ){
            document.write(stuInfo[i][j]);
        }
        //表示内层数组遍历结束,输出换行
        document.write('<br>')
    }
</script>

二、对象

万物皆对象

类是具有相同或相似属性和功能(方法)的这些事物,统称为一类

php中的对象:实例化(new)

javascript中的对象:自定义对象、内置对象、浏览器对象

2.1 字面量创建对象

对象里边只有属性和方法,属性和方法是以键值对的形式存在,键和值之间用冒号: 隔开

对象(object)中的字面量 指的是 花括号 {}

var 对象的名称 = {

        //属性 可以理解为变量名

        属性名:属性值,

        //方法 可以理解为函数

        方法名:function(){}

}

var person = {
    gongHao:'HS001',
    name:'王平',
    money:1500,
    skill:function(){
        console.log('working ....');
    }
}

对象属性的调用

语法: 对象名.属性名

<script>
    //在浏览器上边输出: 王平的工号是HS001,工资是1500
    document.write(person.name+'的工号是'+person.gongHao+',工资是'+person.money)
</script>

对象属性值的修改

语法:对象名.属性名 = 要修改的值

<script>
    //将name属性的值修改为 刘美
    person.name='刘美'
</script>

对象中方法的调用

语法:对象.方法名称()

<script>
    //方法调用
    person.skill()
</script>

2.2 利用new Object创建对象

语法: new Object()

<script>
    var andy = new Object();
    andy.name = 'pink';
    andy.age = 18;
    andy.sex = '男';
    andy.sayHi = function(){
        alert('大家好啊~');
    }
</script>

2.3 利用构造函数创建对象

构造函数:是一种特殊的函数,主要用来初始化对象,即为对象成员变量赋初始值,它总与 new 运算符 一起使用。我们可以把对象中一些公共的属性和方法抽取出来,然后封装到这个函数里面。

<script>
    function Person(name, age, sex) {
        this.name = name; // this.name 这里的name是对象的属性名称,等号后边的name 是要赋的值
        this.age = age;
        this.sex = sex;
        this.sayHi = function() {
        alert('我的名字叫:' + this.name + ',年龄:' + this.age + ',性别:' +this.sex);
        }
    }
    var bigbai = new Person('大白', 100, '男');
    var smallbai = new Person('小白', 21, '男');
    console.log(bigbai.name);
</script>

三、内置对象

3.1 Math对象

Math.PI // 圆周率

Math.floor() // 向下取整

Math.ceil() // 向上取整

Math.round() // 四舍五入版 就近取整 注意 -3.5 结果是 -3

Math.abs() // 绝对值

Math.max() // 求最大值

Math.min() // 最小值

Math.random() // 随机数

随堂练习:输出1-10范围内的随机数

<script>
    Math.ceil(Math.random()*10)
</script>

3.2 Date对象

Date对象和Math对象不同,Date对象需要通过new 关键字进行创建

语法: var 对象名称 = new Date()

方法名作用备注
getFullYear()获取当前年份4位数年份
getMonth()获取当前月份0-11表示1-12月
getDate()获取当前日期
getDay()获取星期几周日0 至周六6
getHours()获取当前小时
getMinutes()获取当前分钟
getSeconds()获取当前秒钟
getTime()获取时间戳自1970年1月1日起至今的毫秒数

3.3 数组对象

var arr = []

数组名.方法()

数组对象方法

方法名作用说明
isArray()判断对象是否为数组
push()数组末尾添加一个或多个元素,修改原数组返回新数组长度
pop()删除数组最后一个元素,无参数,修改原数组返回删除的元素值
shift()删除数组的第一个元素,无参数,修改原数组返回删除后数组的长度
unshift()向数组开头添加一个或更多元素,修改原数组返回新数组长度
indexOf()数组中查找给定元素的第一个索引存在返回索引号,不存在返回-1
lastIndexOf()数组中查找给定元素的最后一个索引存在返回索引号,不存在返回-1
toString()把数组转成字符串,逗号分隔每一项返回一个字符串
oin('分隔符')用于把数组中的所有元素转换为一个字符串返回一个字符串
concat()连接两个或多个数组 不影响原数组返回一个字符串
slice()数组截取slice(begin,end)返回被截取的新数组
splice数组删除splice(第几个开始,要删除个数)返回被删除项目的新数组,影响原数组

案例:筛选数组**

有一个包含工资的数组[1 500, 1200, 2000, 2100, 1800]要求把数组中工资超过2000的删除,剩余的放 到新数组里面

<script>
    var arr = [1500, 1200, 2000, 2100, 1800];
    var newArr = [];
    for (var i = 0; i < arr.length; i++) {
        if (arr[i] < 2000) {
            newArr.push(arr[i]);
        }
    }
    console.log(newArr);
</script>

3.4 字符串对象

方法名称作用备注
indexOf('要查找的字符', 开始位置)查找某字符在原字符串中首次出现的位置返回指定内容的位置 索引,如果找不到返 回-1
lastIndexOf查找最后一次出现的位置找到返回位置索引, 找不到返回-1
concat(str1,str2,str3,...)连接两个或多个字符串,等同于+返回拼接后的字符串
substr(start,length)字符串截取,从start位置开始,length取的个数返回截取后字符串
slice(start,end)从start位置开始,截取到end位置,end取不到返回截取的字符串
substring(start,end)从start位置开始,截取到end位置,end 取不到,基本和slice相同,但不接受负值
replace()
split()
toUpperCase()转为大写返回转后的字符串
toLowerCase()转为小写返回转后的字符串

四、事件

事件的作用:为html的元素添加动作(行为)

4.1 鼠标事件

鼠标单击事件 onclick

鼠标双击事件 ondbclick

鼠标滑过事件 onmouseover

鼠标移出事件 onmouseout

鼠标穿过事件

4.2 表单事件

获得焦点(聚焦)事件 onfocus

失去焦点事件 onblur

内容改变事件 onchange

4.3 键盘事件

键盘按下事件 onkeydown

键盘弹起事件 onkeyup

键盘按压事件 onkeypress

4.4 其他事件

页面加载事件 onload

页面卸载事件 onbeforeunload

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值