百分百源码网-让建站变得如此简单! 登录 注册 签到领金币!

主页 | 如何升级VIP | TAG标签

当前位置: 主页>网站教程>JS教程> javaScript援用类型的具体介绍(附示例)
分享文章到:

javaScript援用类型的具体介绍(附示例)

发布时间:09/01 来源:未知 浏览: 关键词:
本篇文章给大家带来的内容是关于javaScript援用类型的具体介绍(附示例),有必然的参照 价值,有需要的伴侣可以参照 一下,但愿对你有所帮忙。

概念 : 援用类型是一种数据构造,用于将数据和功效组织在一起,也就是 类;
对象为非凡的援用类型实例。新对象由new后加一个结构函数创立的。
结构函数:用于创立对象的函数。
例 : var person = new Object();
object为结构函数,为新对象供给默许属性与办法。

1、object类型

//一般办法

var person = new Object();
person.name = "syr";
person.age = 22;

//对象字面量

var person = {    
    name : "syr",    
    age : 22,    
    5 : true            //5主动转为"5"
}
* 数值属性名会主动转为字符串;
* 对象字面量引荐只在属性名可读的状况下使用,也是向函数传递大量参数首选方式,必需使用命名参数,对象字面量封装多个可选参数。
* 拜访对象一样用点表示法,js中也可以用方括号法,将要拜访的属性以字符串的情势放进去。

例 : alert(person["name"]); // 等于 person.name

* 方括号法主要长处是可以通过变量来拜访属性。
* 点表示法属性名不克不及包括错误的自傲或者保存字和关键字,但方括号法可以。
* 平常,除非必需使用变量来拜访属性,不然引荐使用点表示法。

2、Array类型:

* 数组:数据的有序列表。

es中的数组每一项都可以留存任何类型的数据,数组大小也可以动态调整。

办法一 : new可以省略;
var colors = new Array();
办法二 : 数组字面量
var colors = ["red","blue","green"];

与对象一样,字面量不会调取Array结构函数。

var colors = ["red","blue","green"];
colors[0] // 显示第一项
colors[2] = "black"; // 修改第二项
colors[3] = "brown" ; //增添第四项
colors.length = "black" ;  增添一项

length属性可返回数组的长度,可增添和移除数组的项。

* 检测数组

value instanceof Array // 推断可否为数组
Array.isArray(value) // isArray肯定到底是不是数组,不管在哪个环境中创立
* 转换办法

所有对象都具有toLocalString()办法,后台调取tostring(),null和undefined返回结果以空字符串表示。

* 栈办法 : 后进先出(吃了吐)

push() : 接受任意数目参数,增加到末尾;
pop() : 移除数组末尾一项。

* 队列办法 : 先进先出(吃了拉);

shift() : 前端移除项并返回该项,长度减1;
unshift() : 前端推入一项;

* 重排序办法

reverse() : 逆序;
sort() : 次序;
比力的是字符串,会主动转为字符串。
如 "10" 位于"5"的前面,因此应传给sort一个比力函数。

function compare(value1,value2){    
    if(value1 < value2){        
        return -1;    
    }else if(value1 > value2){        
    return 1;    
    }else{        
    return 0;    
    }
    }
value = [0,1,5,10,15];value.sort(value);  //0,1,5,10,15
* 操纵办法

concat()拼接 : 先把原数组复制一个,然后把参数增加至末尾,原数组不变。slice(1,2) : 剪切:返回参数1起始位置,参数2为完毕位置,包前不包后,原数组不变。solice() : 主要向数组中插入项。(数组操纵最主要的办法):
-删除 : 可删除任意数目项,拟定两个参数: arg1位要删除的位置,arg2为要删除的项数,例:splice(0,2) : 删除前两项;
-插入 : 三个参数。起始位置,删除项数和要插入的项,可在后面插入多个项。例 : solice(2,0,"red","green");从位置2插入"red"和"green".
-更换 : 同上,插入项不必与删除项数相等。
留意 : splice()会改动原始数组;

* 位置办法

indexof() : 从头查寻
lastIndexof() : 从未查寻
arg1表示要查寻的项,arg2为起始位置(可选参数),没寻到返回-1,比力时使用的是全等。

var number = [1,2,3,4,5,4,3,2,1];
number.indexof(4) ;  //返回5

* 迭代办法

every();
filter();
forEach();
map();

* 归并办法

reduce() : 从头
reduceRight ; 从尾
都会迭代数组所有项,构建一个终究返回项。

3、Date类型

var now = new Data();
date.parse("May 25,2004"); // 创建特定日期
* 继承: 重写了3个办法

toLocalString() : 阅读器设定日期;
toString();
valueof();

* 日期格局化办法:

-toDateString() : 特定格局显示星期、月、日、年;
-toTimeString() : 时分秒,时区;
toLocalDateString() : 按地区显示星期、月、日、年;
toLocalTimeString() : 时分秒;
toUTCString() : 特定格局显示完全UTC日期,详细显示因阅读器而异。

4、RegExp类型: 正则表达式;

var expression = /pattern/flags;
标记flags包罗 :
g : 全局;
i : 不区分大小写;
m : 多行模式;
例子 : var pattern = /at/g 全局寻at
var pattern = /[bc]at/i ; 匹配第一个bat或cat,不区分大小写。
无意符须转义;
* RegExp实例办法:

RegExp主要办法是
-exec():捕捉组,参数为一个字符串,返回数组,无匹配返回null,返回多两个额外属性:index 和 input。
index : 位置 input:捕捉的字符串
-test():匹配则返回true,常用来验证会员输入。

5、function类型

* 概念

函数实际就是对象,与其他援用类型一样,有属性和办法,函数名就是只想对象的指针。

* 没有重载

声明雷同函数时,后面的会覆盖前面的函数。

* 函数声明和函数表达式
function sum(){    }    // 函数声明
var sum = function(){    }      // 函数表达式函数声明可以变量晋升,任何时候任何位置都可以调取。
* 作为值的函数

把函数作为参数传给另一个函数,要拜访函数而不施行函数,必需去除函数名后面的那对圆括号
// 从一个函数返回另一个函数
// 按照某个对象数组排序
function compare(pro){

return function(obj1,obj2){        
var val1 = obj1[pro];        
var val2 = obj2[pro];        
if(val1 > val2){            
return 1;        
}else if(val1 < val2){  
          return -1;        
}else{
          return 0;        
}}}
var data = [{name:"AN:,"age":20},{name:"BN:,"age":30}]
data.sort(compare("name"));
* 函数的内部属性

内部含有两个非凡对象:this和argument
-argument:包括着传入的所有参数,内有callee属性,是一个指针,只想具有此对象的函数。
// 递归算法算阶乘
function fac(num){

if(num <= 1){
        return 1;    
        }else{
      return num * fac(num-1);   // 等同于 return num * argument.callee(num -1);
      }}
 办法一与函数名耦合严峻,且只要名称肯定或不发生改动时使用。
 办法二更适宜
* this : 援用的是函数施行的环境对象,函数的名称仅为包括着指针的变量罢了,所以在不一样的环境中施行援用的也是雷同的函数。

* 函数的属性和办法(重点)

函数也是对象,因此有属性和办法;

* -属性 : length 和 prototype

-length 表示但愿接收命名参数的个数。
-prototype 是留存所有权势和办法的真正所在,如里面留存着tostring(),valueOf等,也可以用来继承,极为重要。
prototype属性不成枚举,因此不克不及用for-in。

* -办法 : 非继承而来的办法有两个: apply() 和 call().

作用为在特定的作用域中调取函数,实际是设定函数体内this对象的值。两个办法的作用雷同,不同为接收参数的方式不一样。call() : 参数一一列举
apply() : 参数为一个数组两者的作用不止是传递参数,真正的作用是扩大函数的作用域。把拜访不到的地方传进来。
bind():办法,创立函数实例,与this值绑定,全局作用域。

6、根本包装类型 (也是对象)

为利便操纵根本类型值,供给3个非凡援用类型:Boolean,Number和String.
每读取值后台都会创立对应的根本包装类型的对象,才可以用办法操纵数据。
援用类型与根本包装类型主要不同为对象保存期,用new创立援用累心实例不断留存在内存中,主动创立根本包装类型存在施行瞬时,然后马上烧毁,所以不克不及给根本类型增加属性和办法。

* Boolean 类型

typeof 根本类型 // ‘boolean’typeof 援用类型 // 'object'倡议永不要使用Boolean对象

* Number 类型

toFixed()办法 : 依照指定办法返回数值的字符串表示。
var num = 10;num.tpFixed(2) // '10.00'
toExpoential() : 幂

* String 类型

属性:length : 表示含多少个字符办法:
1)字符办法:charAt()和charCodeAt():查寻某个字符在字符串中的位置。 charCodeAt():查寻字符编码
2)字符串操纵办法:拼接用+号
-三个给予字符串创立新串:
slice():切片 // 第一个参数为起始位置,第二个参数为完毕位置substr():子函数 // 第一个参数为起始位置,第二个参数为截取的个数substring():子串 // 第一个参数为起始位置,第二个参数为完毕位置
以上办法都不会影响原始字符串
3)字符串位置办法:
indexof:从字符串中查寻字符串,返回位置,查不到则返回-1.
indexOf:从头查寻lastIndexOf:从尾查寻 返回第一次显现的位置
4)trim:创立字符串副本,删除前后所有空格,原始字符串不变。
5)字符串大小写改变:
toLocalUpperCase():转大写,针对特定地区
toLocalLowerCase():转小写,针对特定地区
toUpperCase():转大写
toLowerCase():转小写
6)字符串模式匹配办法:
match():与RegExp的exec办法雷同,参数为正则表达式活RegExp对象。
search():从尾开端查寻,参数与match雷同,寻不到返回-1
replace():更换
split():切片,基于指定分隔符字符串为多个子字符串。第二个参数可选,返回几个数组。

7、单体内置对象

已自行实例化,可直接使用,Global和Math

* -Global对象,全局对象:所有全局作用域中属性和办法都是它的。

--url编码
--eval():解析字符串代码并施行

* -Math对象

--Math.ceil():向上取整。
--Math.floor():向下取整。
--Math.round():四舍五入。

* random()办法:随机数,返回0~1之间随机数。

本篇文章到这里就已经全部完毕了,更多其他出色内容可以关注PHP中文网的JavaScript视频教程栏目!

以上就是javaScript援用类型的具体介绍(附示例)的具体内容,更多请关注百分百源码网其它相关文章!

打赏

打赏

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,你说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

百分百源码网 建议打赏1~10元,土豪随意,感谢您的阅读!

共有150人阅读,期待你的评论!发表评论
昵称: 网址: 验证码: 点击我更换图片
最新评论

本文标签

广告赞助

能出一分力是一分吧!

订阅获得更多模板

本文标签

广告赞助

订阅获得更多模板