JS的ECMAScript

JS的组成

JS由三部分组成

  • ECMAScript:JS核心语法部分。
  • DOM:文档对象模型
  • BOM:浏览器对象模型

JS的运行环境

windows、nodejs

对象:

检测属性

  • in:某属性是否是某对象的自有属性或继承属性
    console.log(‘属性名’ in 对象);

  • Object.prototype.hasOwnProperty()
    检测给定的属性是否是对象的自有属性,对于继承属性将返回false

  • Object.prototype.propertyIsEnumerable()
    是hasOwnProperty()的增强版,除了是自身属性外,还要求是可枚举属性,即我们创建的属性。

JS只有全局作用域(global scope)函数作用域(function scope),从ES6开始才有块级作用域(block scope)

Object原型属性及方法

constructor

保存用户创建当前对象的函数,与原型对象对应的构造函数。

hasOwnProperty(propertyName)

检查给定的属性是否是对象的自有属性

propertyIsEnumerable(propertyName)

​ 检查给定的属性在当前对象实例中是否存在

valueOf()

​ 返回对象的字符串,数值,布尔值的表示

toLocaleString()

​ 返回对象的字符串表示,该字符串与执行环境的地区对应

toString()

​ 返回对象的字符串表示

isPrototypeOf(object)

​ 检查传入的对象的原型

函数

函数声明

function 函数名(形参列表){
//函数体
}

函数调用

函数声明好之后并不会直接运行,需要进行调用才能运行。

方式:

  • 函数名(实参列表);
  • 函数名.call(执行环境对象,实参列表);
  • 函数名.apply(执行环境对象,实参列表数组);
  • 函数名.bind(执行环境对象)(实参列表);

1.call(执行环境对象,实参列表);
2.apply(执行环境对象,实参列表数组);
3.bind(执行环境对象)(实参列表);

this的指向

  • 在方法中,this表示该方法所属的对象
  • 如果单独使用,this表示全局对象
  • 在函数中,this表示全局对象
  • 在事件中,this表示接收事件的元素

闭包

闭包:是指有权访问另一个函数作用域中的变量的函数。

数组

数组的创建

  • 字面量创建
var names = ["zhangsan","lisi","wangwu"]
var name = "name"
// 可以接收任何类型的数据当做数组的元素
var arr = [12,name,true,"zhangsan",{},function(){},[],null];
// 通过数组下标获取对应的数据
console.log(arr,arr[2]);
// 获取数组的长度
console.log(arr.length);//arr.length
  • 构造函数创建
var names = new Array();   
// 等价于 var names = []; 
构造函数的方法

Array.isArray():用来判断某个变量是否是一个数组对象。
Array.from():创建一个新数组实例。
Array.of():根据一组参数来创建的数组实例,支持任意的参数数量和类型。

数组方法(部分)
  • Array.prototype.push()
  • Array.prototype.pop()
  • Array.prototype.shift()
  • Array.prototype.unshift()
  • Array.prototype.every()
  • Array.prototype.some()
  • Array.prototype.filter()
  • Array.prototype.map()
  • Array.prototype.forEach()
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值