js的基础

一、数组

概念 : 数组是一组数据的 集合 ,可以存储任意类型的数据
1.1 数组的创建
      1. 通过对象的方式创建 new
// 1. 通过对象的方式
 new var arr = new Array()

     2. 字面量创建 [] 是字面量的含义

var arr1 = ['张三',true,21]

    注意:数组中值和值之间使用英文逗号(,)隔开

 1.2 数组单个元素的访问

通过数组元素的 键名 ( 下标 ) ,来获取数组的中的某一个值
   
语法:数组名[ 键名 ]
// 访问arr1数组中的 张三
 console.log(arr1[0])
修改数组的元素值
数组名 [ 键名 ] = 修改后的值
// 将张三修改为李四
 arr1[0] = '李四' 
console.log(arr1);
1.3 数组的遍历
挨个访问数组中的每一个元素
// 数组的遍历 
for(var i=0;i<arr1.length;i++){ 
console.log(arr1[i]); 
}
1.4 数组练习
1. 求和
var arr = [12,15,18,21,4]

二、数组的分类

按照维数可分为一维数组、二维数组、三维数组 ....
二维数组创建
<script> 
var stuInfo = [
          ['武尚博','男',18], 
          ['刘佳璇','女',18] 
        ] 
</script>
二维数组元素访问
语法: 数组名称 [ 外层数组下标 ][ 内层数组下标 ]
<script> 
// 只获取 刘佳璇 
stuInfo[1][0] 
</script>
二维数组遍历
<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 中的对象: 自定义对象、内置对象、浏览器对象
3.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>

3.2 利用new Object创建对象

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

3.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.4 随堂作业

1. 创建一个电脑对象,该对象要有颜色、重量、品牌、型号,可以看电影、听音乐、打游戏和敲代
码。
2. 创建一个按钮对象,该对象中需要包含宽,高,背景颜色和点击行为。
3. 创建一个车的对象,该对象要有重量、颜色、牌子,可以载人、拉货和耕田。

四、内置对象

4.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>

4.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日起至今的毫秒数

4.3 数组对象

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

4.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的元素添加动作(行为)

5.1 鼠标事件

鼠标单击事件 onclick

鼠标双击事件 ondbclick

鼠标滑过事件 onmouseover

鼠标移出事件 onmouseout

鼠标穿过事件

5.2 表单事件

获得焦点(聚焦)事件 onfocus

失去焦点事件 onblur

内容改变事件 onchange

5.3 键盘事件

键盘按下事件 onkeydown

键盘弹起事件 onkeyup

键盘按压事件 onkeypress

5.4 其他事件

页面加载事件 onload

页面卸载事件 onbeforeunload

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值