变量函数作用域 var 可以跨块 不能跨函数 不初始化undefined 不会报错 let 不可跨块 不能跨函数 const 不可跨块 不能跨函数 必须初始化 箭头函数和普通函数的区别 箭头函数中的this是在它声明时捕获它所处作用域中的this。 普通函数 this指向调用此函数的对象。如果函数用 ...
分类:
其他好文 时间:
2020-06-18 12:30:37
阅读次数:
64
ES5对函数拓展了bind方法 作用:为函数绑定作用域(当函数执行的时候,改变函数的作用域,并传递参数) 目前为止改变作用域的方法|关键字: bind, call, apply, with, eval call与apply的区别 他们都是改变函数作用域的方法,都是在调用该方法的时候,执行函数并改变作 ...
分类:
移动开发 时间:
2020-06-09 12:53:36
阅读次数:
95
知识点 作用域和自由变量 作用域 全局作用域 函数作用域 块级作用域(ES6新增) 自由变量 一个变量在当前作用域内没有定义, 但被使用了 向上一级作用域, 一层一层一次寻找, 知道找到为止 如果全局作用域都没找到, 则报错 xx is not defined 闭包 作用域应用的特殊情况, 有两种表 ...
分类:
其他好文 时间:
2020-06-04 18:07:10
阅读次数:
63
1 决定this指向的是函数执行的时候,而不是函数声明的时候。 2 谁调用的函数,this就指向谁,class和构造函数也适用,this指向实例。 3 箭头函数不改变this指向,this是上级函数作用域的this。 4 fn1.call({x:1}),用call函数调用,this就是传入{x:1} ...
分类:
其他好文 时间:
2020-06-03 00:57:25
阅读次数:
80
大前提 闭包函数 = 名称空间与作用域 + 函数嵌套 + 函数对象 核心点:名字的查找关系是以函数定义阶段为准 什么是闭包函数 "闭"函数指的该函数是内嵌函数 "包"函数指的该函数包含对外层函数作用域名字的引用(不是对全局作用域) 闭包函数 名称空间与作用域的应用+函数嵌套 def f1(): x ...
分类:
其他好文 时间:
2020-05-28 23:06:55
阅读次数:
58
自定义对象{} 1 var a = {"name": "Alex", "age": 18}; 2 var d = {'name':'chao',age:18}; 键可以不加引号 3 console.log(a.name); 4 console.log(a["age"]); 5 for循环遍历自定义对 ...
分类:
Web程序 时间:
2020-05-27 00:58:42
阅读次数:
63
var abc = '123'; // 全局变量 具有全局作用域 c = '222'; // 实际上 是 window.c = '222' 的简写。 function test() { var abcd = 1234; // 函数作用域 if(abcd > 1) { let a = 2; // 块级 ...
分类:
编程语言 时间:
2020-05-23 18:05:41
阅读次数:
58
今天的主要内容是JavaScript部分的BOM对象,和部分函数作用域的问题 一、BOM(浏览器对象模型),可以对浏览器窗口进行访问和操作。使用 BOM,开发者可以移动窗口、改变状态栏中的文本以及执行其他与页面内容不直接相关的动作。 使 JavaScript 有能力与浏览器“对话”。 其实都是属于w ...
分类:
编程语言 时间:
2020-05-19 00:18:21
阅读次数:
70
C语言内存管理 作用域和生命周期c/c++开发作用域和生命周期C语言作用域分为: 代码块作用域(代码块是{}之间的代码段) 函数作用域 文件作用域 普通局部变量 在{}内部定义的变量就是局部变量。 只有执行到定义变量的这个语句,系统才会给这个变量分配空间。 当离开{},这个非static局部自动释放 ...
分类:
编程语言 时间:
2020-05-07 15:27:40
阅读次数:
62
一、没有声明提升 var有声明提升。 用let来声明变量时,不会将声明提升到最顶部。 因此,当我们使用let来声明变量时,一定要 先声明再使用 。 注意: let声明的变量不会被挂载到window对象上。 二、暂时性死区(块级作用域) var不存在块级作用域,只有全局作用域和函数作用域。 ES6中存 ...
分类:
其他好文 时间:
2020-05-04 21:00:39
阅读次数:
65