内置构造函数

内置构造函数的分类

   ① ECMAScript核心语法自带内置构造函数: 有一部分内置构造函数:Function、 Object、 Array、 String、 Number、 Boolean、 RegExp、 Error、 Date

    ② 宿主环境: 也会支持一部分构造函数  例如Image


Function

该函数是一个内置构造函数,是用于创建函数的。

使用方式:

var fun = new Function("a", "b", "return a + b");

等价方式1:

function fun(a, b) {
     return a + b
}

等价方式2:

var fun = function(a, b) {
     return a + b
}

特点: 

    除了最后一个参数,其他的都是作为形参存在。

    当使用new Function 时候 使用 函数名.name 输出的是anonymous (匿名

    使用其他两种方式, 函数名.name 输出的是函数名

    函数.length  指的是函数的形参个数

    函数.arguments指的是函数执行时候传入的实参个数。


RegExp

该函数是一个内置构造函数,是用于创建正则表达式。

接受2个参数:

    第一个参数:正则表达式的表达体, 是字符串

    第二个参数: 正则表达式的修饰符: i(不区分大小写)、 m(多行文本)、 g(全局匹配)

// 字面量
var reg = /\s/g;
// 构造函数
var reg1 = new RegExp("\\s", "g");

注意: 因为字符串中也有转义字符, 所以需要多转义一次。


String

该函数是一个内置构造函数,它是string值类型的对应包装类型。

// 这是一个内置构造函数 它是 string值类型的对应包装类型
var str = "abcdefg";
// 转为对应的包装类型
var str_obj = new String(str);

平时我们用字符串的方法并不是在使用string类型的方法,而是在使用String对象的方法

当一个字符串调用方法的时候,其实编译器会默认转为对象,然后让该对象调用方法 获取返回值。

// 举例解释字符串值类型调用string对象方法的步骤
var arr = str.split(""); 
// 1 转为对象 var str = new String("abcdefg"); 
// 2 str.split("") 
// 3 清空str 并返回结果 
// 于是arr的结果就是一个数组 str保持不变。



Boolean

该函数是一个内置构造函数,它是Boolean值类型的对应包装类型。

// 这是一个内置构造函数 它是 bool值类型的对应包装类型
var f = false;
// 转为对应的包装类型
var f_obj = new Boolean(f)

注意: new Boolean 得到的是一个对象,输出new Boolean(f)是true  原始值是false; 想获得原始值就调用valueof()

 

Number

该函数是一个内置构造函数,它是number值类型的对应包装类型。

var num = "3";
var num_obj = new Number(num)
// Number 不是一个安全类, 不使用new 调用时候, 是作为类型转换函数使用
var num2 = "3a";
var num3 = Number(num2); //NaN

当new Number的时候,得到的是一个Number类型的对象,当Number的时候,得到的是一个类型转换的结果。

注意:Number 不是一个安全类, 不使用new 调用时候, 是作为类型转换函数使用


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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值