文档章节

Javascript 基础常用对象介绍

learn_more
 learn_more
发布于 2014/11/09 00:10
字数 1756
阅读 254
收藏 38

数组 类型( 栈  &&  队列 )

1)var arr = new Array();括号中的长度可以不指定,原因就是js中的数组长度是可以动态改变的

2)类似于java中的list容器,长度可变(arr.length=num),元素类型任意。

3)arr.push( obj , obj , ..... ) ; 通过 push 可以往数组中添加任意多个元素; 类似栈中添加元素

4)arr.pop( ) ; 通过pop可以删除数组中最顶端的元素。类似栈中的删除元素

5)arr.unshift(obj , obj ,.. ) ;通过unshift可以往数组中添加任意多个元素,类似队列添加元素

6)arr.shift( ) ; 通过shift可以删除数组中最低端的元素。类似队列中删除元素

7)arr.splice(num1 , num2 , num3,..);num1表示数组起始位置,num2表示截取的个数(从数组中删除),num3以及后面的所有元素表示要添加到数组中作为新元素,最后就是数组既删除了元素同时又添加了新元素。

8)arr = arr.slice(num1 , num2 );左闭右关,表示从数组中获取从第二个到第四个元素返回

9)splice 操作数组本身,slice不操作数组本身,所以slice是不会改变原数组对象的。

10)arr = arr.concat( arr2 ); 数组元素合并,不操作数组本身,其返回元素为操作结果

11)arr = arr.join(‘ - ’);在每个元素之间加入参数内容,不操作数组本身

12)arr.sort( );对数组元素进行排序,默认是AES,内部比较规则是把元素转为字符串在比较。自定义比较规则是自定义函数,并且把函数的对象作为参数传入sort(fun);如下 function fun(obj1 ,  obj2){ return 1 ; return 0 ; return -1}.

13)arr.reverse( );对数组元素进行转置。

14)var value = arr.indexOf( index ) ; var value = arr.indexOf(start , index ) 类似于 arr[index]

15)arr.lastIndexOf( index ) ; 与上面相同

16)arr.reduce(function(pre , cur , 【index , arr】 ){ }); 数组叠加,这个方法还是很简单使用的。

17)arr.reduceRight(function(pre , cur ,【 index , arr】 ){ }); 数组反向叠加,所以有了上面的方法这个方法基本没什么意义。

18)5种迭代数组的方法 funName(function(iteam , index ){});

every : 对于数组每一个元素进行一个函数的运行,如果函数运行有一次为false,则为false,否则为true

some : 对于数组每一个元素进行一个函数的运行,如果函数运行有一次为true,则为true,否则为false

filter  : 对于数组每一个元素进行一个函数的运行,该函数执行过滤,把过滤后的结果返回。return true ;的保留
forEach:遍历数组中的每一个值,并且对该值进行(函数)处理。就是遍历对象,他并不返回结果值,除非使用引用型对象改变值。
map   : 遍历数组中的每一个值,并且对该值进行(函数)处理,同时返回处理后的结果,他与filter的差异在于filter只返回满足过滤条件的值,而map则返回对每一个值处理后的结果,那么数组长度是不会发生改变的,而filter是会发生改变的。return iteam。

19)数组转对象,对象转数组,自己编写转换方法,实际上就是利用js特性,把数组中重复的值去掉。


Object 类型(类似java的 Object)

1)所有类的基础类,var obj = { } ;=  new Object();(最好不要省掉小括号,格式要求)

2)自定义属性和方法,直接obj.name = ""; obj['sex'] = "" ;  obj.fun= function(){};

3)删除属性和方法 ,  delete obj.name ; delete obj.fun;delete obj[name] ; 注意删除方法不需要括号

4)遍历js对象,for in 语法;for(var attribute in object){object[attribute] + attribute}

5)Object对象一定具有的方法:

1 obj . constructor ;  构造函数 ;不能用括号,因为括号表示获取函数的返回值,而不是调用函数本身对象

2 obj . hasOwnProperty('propertyName') ; 对象是否拥有属性

3 obj . isProtoTypeOf(obj2) ; 检测原型

4 obj . propertyIsEnumerable('propertyName') ; 检测属性是否能被枚举

5 obj . toLocaleString() 与本地语言有关的字符串表示

6 obj . toString() ; 对象转为字符串

7 obj . valueOf() ; 字符串表示对象 ,toLocalString()方法经常也会返回与toString()和valueOf()方法相同的值

6)重写 Object中的方法,只要 obj.funName = function(){  } ; 就是重写。


其他引用类型对象:

单体对象:不需要实例化对象就能使用对象 ;Global  Math

Global对象

1)Global:无形的,全局的,终极的,最顶端的, 不存在的对象 。因为不存在所以是不可以实例化的,也就是不能用new,使用它时直接调用他的方法即可。Global 对象从不直接使用,并且不能用 new 运算符创建。它在 Scripting 引擎被初始化时创建,并立即使其方法和属性可用。

2)encodeURI(str);encodeURIComponent(str);以及对应的方法 decodeURI(str);decodeURIComponent(str);注意一般使用后两者,原因是前者只对url中的空格处理,而后者还会处理很多字符

3)eval(str),最厉害的方法,无形的javascript解析器;把一些字符串转为javascript中的脚本或对象。这个方法一般情况下是不会使用的,原因就是安全性,因为任何字符串代码都会被执行,除非你知道这个代码没有问题执行,使用这个方法注意三点:

A:eval(str);其中str一定是String类型,而不是Object类型,意思是传人的参数只能是原生的string类型,否则eval不做任何处理就把这个object返回给调用者。

B:eval(‘(’+objStr+')');这个方法的目的就是把一个字符串转为一个对象类型,这种格式是固定的,使用括号就是代码块的原因。objStr="{name:'dff',sex:'man'}" ;  json对象

C:eval(‘ 5+10 ’);这种形式就是使用javascript解析执行str中的js代码,然后把结果返回,如果没有返回值则为undefiend。

4)parseInt(str);parseFloat(str);类型转换

5)escape(str) ; unescape(str); 加密;解密,这个与上面的encodeURI差不多,所以也没什么价值。

6)isNaN(obj);如果obj能够转为Numner类型则返回false,否则返回true;

7 ) isFinite( obj ) ; 判断对象是否是无限的。

Math对象

1)Math.funName(); 数学的基本运算

2)Math.random() ; 随机数的生成。返回一个0.0 和 1.0之间的一个伪随机数。

Date对象

1)var date = new Date();

2 ) var year = date.getFullYear();不要使用date.getYear();原因就是浏览器对这个方法处理不一样

3)如何把javascript中的date转为自己想要的格式,就是通过getXXX获取年月日时分秒,然后拼接字符串

4)getTime();通过这个时间差获取函数执行时间。

基本包装类型

1)Boolean String Number


© 著作权归作者所有

learn_more
粉丝 93
博文 240
码字总数 210196
作品 0
深圳
程序员
私信 提问
2019 前端面试 | 知其然,并知其所以然

Web 前置知识 《老生常谈的从 URL 输入到页面展现背后发生的事》[编号:web01] 《初次接触前端,我们要理解哪些名词?》 《工欲善其事,必先利其器——软件安装、环境搭建》 《做一次山大王,...

itsOli
05/22
0
0
Javascript原型链和闭包深入解析

Javascript语法核心 Javascript目前可以说是Web前段开发标配脚本语言,相关标准已经发展到ES6,不过该标准并未得到大部分浏览器的支持,并且在该标准之前的很多项目都是基于ES5.x标准。文本所...

陶小陶
2018/08/11
0
0
【JavaScript基础系列】决定你的人生能走多远的,是基础。

前言    javaScript门槛非常低,一点语法,一个dom,一个bom就可以使用它开发大部分js应用,再加上现在层出不穷的框架极大的简化抽象了javaScript的使用方式,但是我们始终不能忘记的一点...

grootzhang
2017/09/12
0
0
发明者量化 数字货币量化交易课程--开课啦!

目录连载 适用人群 面向对数字货币程序化感兴趣的初学者,需要有一定的实盘交易和计算机基础。 课程概述 数字货币交易市场由于其特殊性越来越受到量化交易者的关注,实际上程序化交易已经是数...

发明者量化FMZ
2018/09/18
0
0
关于javascript的原型和原型链,看我就够了(一)

关于js的原型和原型链,有人觉得这是很头疼的一块知识点,其实不然,它很基础,不信,往下看 要了解原型和原型链,我们得先从对象说起 创建对象 创建对象的三种方式: 对象直接量 通过对象直...

陌上寒
2018/11/03
0
0

没有更多内容

加载失败,请刷新页面

加载更多

php 遇到 No input file specified的解决方法

(一)IIS Noinput file specified 方法一:改PHP.ini中的doc_root行,打开ini文件注释掉此行,然后重启IIS 方法二: 请修改php.ini 找到 ; cgi.force_redirect = 1 去掉前面分号,把后面的1...

chenhongjiang
今天
5
0
MySQL 基础

一、常用命令 在命令行中,配置好环境变量后,通过cmd可以直接进入mysql命令行模式,同时列举几种常用命令 # 进入mysql数据库,密码可以先不写,打完-p后再输入,防止被别人看到mysql -u账...

华山猛男
今天
6
0
简单的博客系统(四)Django请求HTML页面视图信息--基于函数的视图

1. 编写用于查询数据的功能函数 应用目录 下的 views.py 文件通常用于保存响应各种请求的函数或类 from django.shortcuts import renderfrom .models import BlogArticles# Create your ...

ZeroBit
今天
5
0
用脚本将本地照片库批量导入到Day One中

因为目前iCloud 空间已经不足,其中95%都是照片,之前入手了DayOne,且空间没有限制,订阅费一年也不少,再加上DayOne作为一款日记App 也比较有名,功能方面最大的就是地理视图与照片视图,尤...

在山的那边
昨天
21
0
jupyter部署安装

python373 -m ipykernel install --name python373 ipython kernelspec list sc create myjupyterservice binpath="D:\apply\Python373\Scripts\jupyter-notebook --config=V:/my_work/jupyt......

mbzhong
昨天
4
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部