JavaScript:Object类型、Function类型、Array类型

引用数据类型

  • Object类型
  • Function类型
  • Array类型
  • Date类型
  • 基本包装类型
  • 内置对象

instanceof 操作符用于测试某个变量是否属于某种引用数据类型

Object类型

(js中,任何引用数据类型都属于object)

1)创建object类型

  • 创建对象方式一:使用new关键字

Js的对象是可以随时动态添加属性和方法的。

  • 创建对象方式二:用字面量创建空对象

为字面量对象添加属性。

键值对

内存分析

2)函数的调用:

car( );

TIPs:访问对象的属性值: (笔试)

  • 方式一:对象名.属性名
  • 方式二:对象名[ “属性名” ]

Function类型

1)函数的定义

  • 定义方式一:声明

  • 定义方式二:函数表达式

注意:函数声明的提升

用函数声明定义的函数,会被js执行引擎提升到代码的最前方;

用函数表达式定义的函数,不会被提升到最前方。

(函数的提升会优于变量的提升)

2)函数调用

函数声明后必须调用,才能执行函数内部代码。不调用,就永远不会执行。

  • 函数名( );
  • 函数自执行:

3)函数的参数

函数的参数可以是任意的数据类型

(将method1函数当作参数传给method2的形式参数fun,再调用fun函数,也就是调用了method1函数,因此打印出字符串:“我是method1”)

4)函数的返回值

5)函数的作用域

  • 局部变量

用var关键字定义在函数内部的变量,叫做局部变量。

局部变量的作用域在函数内部。当函数执行完毕,就会被销毁。

如果在函数内部的变量,没有用var关键字修饰,那么它是一个全局变量。

  • 全局变量

定义在函数外部的变量,叫做全局变量。

全局变量的全局变量作用于在当前的文件。即使在函数中使用完毕,也不会被销毁。他们会在当前页面被关闭时销毁。

所以,能用局部变量解决的问题,绝不用全局变量。

6)事件与事件处理函数

例如:

  1. 通过按钮点击,实现网页开关灯效果;
  2. 鼠标移入移出事件;
  3. 表单验证,(js的第一个功能);
  4. 图片手动切换。

开关等效果:

鼠标移入移出

验证表单是否为空

return不能缺少

图片手动切换

Array类型

特点:

  • 可以存放任意类型的数据
  • 大小可以随着数据的大小而改变
  • 特殊的对象object

Js数组中元素存放的下标只能是整数数字。如果是其他类型,只会被当作对象来处理。

length:表示元素的个数,是一个32位的整数,一个数组最多只能装2^32-1个元

1)数组定义方式

  • 方式一:var array = new Array( );
  • 方式二:var array = [ ];

2)数组的数据存放和获取

存放:

获取:

3)数组操作

  • 往数组的首尾存入新的元素

头部添加:array.unshift("hello");

尾部添加:array.push("world");

  • 删除数组的首尾元素

头部删除:array.shift( );

尾部删除:array.pop( );

例如:

定义一个函数,功能是将数组的0去掉,将不为0的存入一个新的数组返回该数组:

  • 数组的合并

concat(); //添加多个可以把数组用逗号隔开

// 当然也可以直接传数据

  • 查询元素所在下标

indexof( )从左边开始查找;

lastindexof( )从右边开始查找。(找不到就用-1表示,判断的标准是全等 ===)

TIPs:函数内部系统提供的变量arguments,表示调用者传入的实参个数。这是一个类似于数组的非数组对象

因为类似于数组,

  • 切割数组

array . slice( start , end) ;  // 切割后的数据不包含end,只包含start

  • 数组拼接

array . splice( )  // 直接在原数组进行修改,和数组合并不同

故还可以用spice实现:

替换元素

删除元素(不写新元素)

插入元素(howmany为0)

  • 数组转换成字符串

array . jojn(separator ) ;   // separator 是分隔符,如果不写就默认用逗号分隔

// 定义一个函数实现 join 方法相同的功能

把字符串转换为数组:

string.split( separator , howmany )
    separator:可选,指定要用的分隔符,若省略,则使用逗号为分隔符
    howmany:可选,该参数可指定返回数组的最大长度
  • 排序

sort( ):升序排序

reverse( ):降序排序   //降序会遇见一些问题

交换位置实现降序排列

例如:查找数组对象中age大于18的对象。

  • for...in循环

遍历对象的所有属性

  • 隔行变色效果

获取页面内所有的标签对象:

var  lis = document.getElementsByTagName(“ li ”) ;

该函数的返回值是一个类似于数组的对象,找到的标签全部存放在这个对象中

Emmet语法,能够快速搭建网页结构: http://www.w3cplus.com/tools/emmet-cheat-sheet.html

  • 冒泡排序

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值