js4
数组的解构赋值: 位置
对象的解构赋值: 名称
// {}在解构赋值的时候,不能出现在一行的最前面,否则js解析器会把他当成一个代码块,加()
({a, b} = obj),告诉他这个仅仅是一个解构语句
let {a, b} = {a: 1, b: 2};
let{a:A, b} = {a: 1, b: 2};
let{a:A=1, b=2} = {a: 10}; //A=10, b=2;
let a = 0;
({a, b} = {a: 1, b: 2}); //通过对象的解构赋值改变变量的值
let {a[y]} = {a: ['Yo.']}; //获取'Yo.', 错误
let{a: [y]} = {a: ['Yo.']}; //获取'Yo.', 正确 把a重命名为[Y],再解构['Yo.']
-----------------------------------------------------------------------------------
let {a{b}} = {a: {b: 1}}; //获取b的值,错误
let {a: {b}} = {a: {b: 1}}; //获取b的值,正确
// 解构赋值中,初始变量中不能出现a[]、a{},重命名(a: {b})的可以出现
let {floor, pow} = Math; //解构Math对象中的方法
let a = 1.9;
console.log(floor(a)); // 1
console.log(pow(2, 3)); // 8
// undefined 未声明(没值)
// not defined 未定义(没变量)
// Proxy 代理,用于在语言层面上去操作一个对象 Proxy({原对象},{配置项})
// let s = new Set([1, 2, 3, 3]);
// Set 和 Array 都是数据结构
var a = [, , , ];
function each(arr,callback){
for(var i = ; i < arr.length; i++){
var item = arr[i];
callback(item);
}
} each(a, function (item) {
if (item < ) {
console.log(item);
}
}); //你接受一个传参,叫callback,然后执行这个callback,同时执行的时候把item传进来
回调函数:叫我一下
yo.call(lsd); 用lsd来做yo()里边的this
this用于在不同的环境下,给不同的父级赋能的
this等于什么不取决于this所在的位置,取决于this所在的function是如何被调用的
function 作为方法被调用(对象.fullname()),this等于他的 父级对象
function 作为构造器被调用 ( new User()),this等于 即将生成的对象
其他情况this等于undefined,指向最外层
显性属性是拷的,隐性属性是指向的
变化的显性 不变的隐性
b的原型继承于A,A的原型继承于Object
对象的原型 指向 其构造器的原型
js4的更多相关文章
- Ext JS4 学习笔记之发送表单(Form)时也将表单下的表格(Grid)数据一同发送的方法
Ext JS4 学习笔记之发送表单(Form)时也将表单下的表格(Grid)数据一同发送的方法 昨天在开发的时候遇到个小问题,就是如何将Grid的内容与Form一起发送到服务器端.默认情况下,表单(F ...
- Ext JS4百强应用: 用grid.plugin.CellEditing做高级查询 --第10强
Ext JS4,用grid.plugin.CellEditing做高级查询: 写了90%,界面出来了,小兴奋就贴出来,还有细节要调整,基本能用. 代码: Ext.define('chenghao.ad ...
- ArcGIS API for JS4.7加载FeatureLayer,点击弹出信息并高亮显示
我加载的是ArcGIS Server本地发布的FeatureService,ArcGIS API for JS4.7记载FeatureLayer时,在二维需要通过代码启用WebGL渲染,在三维模式下, ...
- 名词解释——Ext JS4
Ext.onReady——Ext主入口,和onload事件不同,不需要页面所有东西加在出来. Ext js 的基本语法就是使用树状图来配置对象来定义界面: { config_options1:valu ...
- [JS4] 最简单JS框架
<html> <head> <title></title> <SCRIPT TYPE="text/JavaScript"> ...
- zepto源码研究 - zepto.js-4(常用的工具)
$.each: /** * 以集合每一个元素作为上下文,来执行回调函数 * @param elements * @param callback * @returns {*} */ $.each = f ...
- Ext JS4百强应用:设置textfield的悬浮提示信息 --第8强
在Extjs4中有时候我们需要textfield的提示信息,但是我们发现textfield并没有这样的配置项. 这时候我们就要另想方法:我们需要在鼠标悬停在textfield组件的时候进行信息的提示, ...
- Ext JS4百强应用: 做可编辑的,可checked的treegrid--第11强
做一个可编辑的,可checked的treegrid,代码相当简洁: 请看代码: <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN&quo ...
- js4:with,for in语句,windows,location对象的使用
原文发布时间为:2008-11-08 -- 来源于本人的百度文章 [由搬家工具导入] <html> <head> <title>js</title> & ...
随机推荐
- ESP8266 mDNS
https://circuits4you.com/2017/12/31/esp8266-mdns/ 本教程介绍如何使用ESP8266进行多播DNS?在网络世界中,很难记住每个网站和计算机的IP地址,解 ...
- Spring Security(四):2.1 Introduction What is Spring Security?
Spring Security provides comprehensive security services for Java EE-based enterprise software appli ...
- Flask框架简介,常用扩展包及两大核心
Flask诞生于2010年,是Armin ronacher(人名)用 Python 语言基于 Werkzeug 工具箱编写的轻量级Web开发框架. Flask 本身相当于一个内核,其他几乎所有的功能都 ...
- Maven入门指南⑦:Maven的生命周期和插件
一个完整的项目构建过程通常包括清理.编译.测试.打包.集成测试.验证.部署等步骤,Maven从中抽取了一套完善的.易扩展的生命周期.Maven的生命周期是抽象的,其中的具体任务都交由插件来完成.Mav ...
- FineUI经典项目展示(1)生产在线管理系统
本系列<FineUI经典项目展示>文章将会集中展示一批使用FineUI(开源版).专业版.MVC版的经典项目. 如果你希望自己的FineUI项目出现在这个舞台,请到官网论坛提交申请: ht ...
- MiniProfiler安装使用心得
MiniProfiler简介: MVC MiniProfiler是Stack Overflow团队设计的一款对ASP.NET MVC的性能分析的小程序.可以对一个页面本身,及该页面通过直接引用.Aja ...
- vue文档全局api笔记1
全局api方法 1.Vue.extend(options) 请注意,extend创建的是一个组件构造器,而不是一个具体的组件实例.所以他不能直接在new Vue中这样使用: new Vue({comp ...
- React-redux框架之connect()与Provider组件 用法讲解
react-redux 在react-redux 框架中,给我提供了两个常用的API来配合Redux框架的使用,其实在我们的实际项目开发中,我们完全可以不用react-redux框架,但是如果使用此框 ...
- Codeblocks 遇到的问题 Cannot open output file, permission denied
Codeblocks下运行C++的程序时,偶尔会出现 Cannot open output file, permission denied 的问题,导致不能够编译. 在 Stack Overflow ...
- Five Dimensional Points CodeForces - 851C (计算几何+暴力)
C. Five Dimensional Points time limit per test 2 seconds memory limit per test 256 megabytes input ...