js学习Day06(对象&数组)

1.对象

 (1)检测属性是否存在

  对象.属性名 === undefined    true -> 不存在   false -> 存在

  对象.hasOwnProperty('属性名')    true -> 存在   false -> 不存在

  '属性名'  in  对象    true -> 存在   false -> 不存在

  练习:创建一个商品对象,包含商品的编号、标题、价格属性;如果颜色属性不存在,则添加该属性;如果价格属性存在,则打八折,最后打印对象。

 (2)对象中的方法

  方法对应的是一个函数

var person = {

  name: '涛哥',

  play: function(){

     this 指代调用方法的对象

  }

};

person.play()   //调用方法,play中this指向person

  练习:创建一个圆的对象,包含属性有半径和圆周率,添加计算周长和计算面积的两个方法,最后调用者两个方法

  练习:创建一个计算器对象,包含计算任意两个数字相加,计算任意两个数字相减的方法;调用两个方法。

2.数据的存储

 (1)原始类型存储

  直接存储在栈内存中

 (2)引用类型存储

  将数据存储在堆内存中,同时会自动生成一个地址,然后把这个地址保存到栈内存(变量)中

  引用类型数据占用内存空间比较大,如果要销毁,没有任何的地址所指向,就会自动销毁。直接赋值为null即可销毁

  

3.数组

 就是一组数据的集合,每个数据称为元素

 (1)数组字面量

  [ 元素1, 元素2, ... ]

  练习:创建数组,包含有一组商品的名称

        创建数组,包含有一组成绩

 (2)元素的访问

  数组[下标]

  下标从0开始的整数,如果下标不存在返回undefined

  练习:创建数组,保存一组汽车的品牌名称,修改其中的元素,在末尾添加若干元素,打印数组。

 (3)数组的长度

  数组.length    获取数组元素的个数

  数组[ 数组.length ] = 值;    可以在数组的末尾添加元素

  练习:创建一个空数组,使用数组的长度属性不断添加元素。

 (4)内置构造函数

  new Array(元素1,元素2...)

  new Array(3)   创建数组,初始化数组长度为3,可以添加更多个元素

  练习:创建数组,包含有多个国家

        创建数组,初始化长度为5,添加篮球场上的5个位置。

       大前锋  小前锋  中锋   控球后卫  得分后卫

 (5)数组的分类

  索引数组:以0及以上整数作为下标     >=0

  关联数组:以字符串作为下标,需要单独的添加元素

 (6)数组的遍历

for-in

for(var k  in  数组){

  k  代表下标

  数组[k]   下标对应的元素

}

循环

for(var i = 0;i < 数组.length; i++){

   i  代表下标

   数组[i]  下标对应的元素

}

 练习:创建数组,包含有一组成绩,将所有成绩在60分以下加10分;打印数组

 练习:创建数组,包含所有学生的成绩,遍历数组,计算出总分和平均分。

 (7)API

  API:应用程序编程接口,JS下指提供好的函数或者方法

  toString()   将数组转为字符串

  join( str )    将数组转为字符串,可以设置字符串之间的分割符

 

课后任务

 (1)复习今天内容,整理思维导图

 (2)练习

   创建数组,遍历数组,翻转数组中的元素;  

      ['a','b','c','d']   -> ['d','c','b','a']

   创建数组包含一组数字,遍历数组,将数字进行从小到大排序(冒泡排序)

      [78,6,45,23]    [6,23,45,78]

 (3)预习js第8天,字符串对象

 

 

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值