作用域

var,let,const三者的区别

我们两清 提交于 2019-12-04 11:40:26
1、块级作用域{} ES5中作用域有:全局作用域、函数作用域。 ES6新增块级作用域。块级作用域由 {} 包括,if语句和for语句中的 {}也属于块作用域 2、var,let,const的区别 var定义的变量,没有块的概念,可以跨块访问,不能跨函数访问 let定义的变量,只能在块作用域里访问,不能跨块访问,也不能跨函数访问 const用来定义常量,使用时必须初始化,只能在块作用域中访问且不能修改 3、const 定义的对象属性是否可以改变 可以。 对象时引用类型的,person中保存的仅是对象的指针,这意味着,const仅保证指针不发生改变,修改对象的属性不会改变对象的指针,所以是被允许的。 也就是说const定义的引用类型只要指针不发生改变,其它改变都是允许的。 来源: https://www.cnblogs.com/knightdreams6/p/11859275.html

redux 和 dva

陌路散爱 提交于 2019-12-04 10:30:55
redux 1、是什么是redux,为什么要使用redux: https://segmentfault.com/a/1190000012142449?utm_medium=referral&utm_source=tuicool 或 https://blog.csdn.net/weixin_33772645/article/details/88705613   a、组件中数据流动是单向的,父组件传递给子组件,反过来就不行。(这点 VUE 的组件数据流动也是一样的) 【子组件传递数据给父组件,一般都是通过函数调用把数据作为参数发送过去的】     有点类似,父作用域的声明的变量,在子作用域中可以使用。子作用域声明的变量,父作用域中无法获取。但是子作用域中调用 父作用域声明的方法,是可以把子作用域中的值,传递给父作用域的。   b、如果组件数,简单父子组件传值,还是好实现的。 redux就是解决,复杂组件树中,其中一个组件,状态的改变,其它隔的比较远的 dva 来源: https://www.cnblogs.com/wfblog/p/11854754.html

javaScript基础知识总汇

独自空忆成欢 提交于 2019-12-04 09:34:32
javaScript是什么: 1、JavaScript 运行在客户端(浏览器)的编程语言 2、用来给HTML网页增加动态功能 3、用来给HTML网页增加动态功能。 4、Netscape在最初将其脚本语言命名为LiveScript,后来Netscape在与Sun合作之后将其改名为JavaScript。为什么开头叫java,因为当时java特别牛逼吗,所以可能为了营销吧。 应用场景: 网页特效 服务端开发(Node.js) 命令行工具(Node.js) 桌面程序 App 控制硬件-物联网 网页游戏开发 JavaScript和HTML、CSS的区别 HTML:提供网页的结构,提供网页中的内容 CSS: 用来美化网页 JavaScript: 可以用来控制网页内容,给网页增加动态的效果 javaScript的组成 1、ECMAScript - JavaScript的核心简称ES,ECMA 欧洲计算机制造联合会 网景公司出了一套标准javaScript,微软出了一套标准JScript。为了统一所以制定了一套标准ECMAScript,它描述了语言的基本语法和数据类型 2、DOM(Document Object Model):一套操作页面元素的API 3、BOM(Browser Object Model):一套操作浏览器功能的API javaScript的书写位置 1、写在行内: <input

函数的名称空间和作用域

落花浮王杯 提交于 2019-12-04 09:08:28
函数 一.什么是函数? ​ -函数就是一种工具,可以重复调用 ​ -函数是先定义,后调用,在定义阶段只检测语法,不执行代码。 1、什么是函数? def :定义函数的关键字:define 函数名:命名规范与变量名命名规范一致 1、一定不要与关键字冲突 2、一定要见名知意 2.为什么要用函数? 1.防止代码冗余 2.代码的可读性差 3.怎么使用函数? 1.定义函数 ----制造函数 2.调用函数-----使用函数 4.函数的分类 -无参函数 def index(): print('ok') -空函数 def login(): pass -有参函数 def login(username): print(username) 二、函数返回值 ​ -不写return:默认返回None def index(): print('hello') return index() >>>>>> hello ​ -只写return:只有结束函数体代码的效果,返回None ​ -写return None :与只写return的效果相同 -return返回一个值:可以将返会的结果,当作一个变量值来使用 def home(a, b): if a > b: return a else: print(b) return b res = home(2, 3) print(res) >>>>> 3 3 ​

ES6中的块级作用域与函数声明

。_饼干妹妹 提交于 2019-12-04 08:57:50
  块级作用域             定义: 是一个语句,将多个操作封装在一起,通常是放在一个大括号里,没有返回值。      为何需要块级作用域?         在ES6之前,函数只能在全局作用域和函数作用域中声明,不能在块级作用域中声明。没有块级作用域导致很多场景不合理:    function block(){ var a = 1; if(true){ var a = 2; } console.log(a) //2 } block() function block(){ let a = 1; if(true){ let a = 2; } console.log(a) //1 } block()     上面的函数有两个代码块,都声明了变量a,运行后输出 1。这表示外层代码块不受内层代码块的影响。如果两次都使用var定义变量a,最后输出的值才是 2         ES6中的块级作用域:    1、允许块级作用域任意嵌套,外层作用域无法读取内层作用域的变量 {{{{ {let i = 6;} console.log(i); // 报错 }}}}      上面代码使用了一个五层的块级作用域,每一层都是一个单独的作用域。第四层作用域无法读取第五层作用域的内部变量。    2、内层作用域可以定义外层作用域的同名变量 {{{{ let i = 5; {let i = 10;}

spring学习(三十一)--bean的作用域

杀马特。学长 韩版系。学妹 提交于 2019-12-04 08:43:19
本篇介绍Spring Bean实例的作用范围,Spring Bean实例的作用范围由配置项scope限定。通过本篇的学习,可以达成如下目标。 ● 应用scope配置项配置Bean的作用域 ● 应用单例模式singleton ● 应用原型模式prototype 1、作用域scope配置项 作用域限定了Spring Bean的作用范围,在Spring配置文件定义Bean时,通过声明scope配置项,可以灵活定义Bean的作用范围。例如,当你希望每次IOC容器返回的Bean是同一个实例时,可以设置scope为singleton;当你希望每次IOC容器返回的Bean实例是一个新的实例时,可以设置scope为prototype。 scope配置项有5个属性,用于描述不同的作用域。 ① singleton 使用该属性定义Bean时,IOC容器仅创建一个Bean实例,IOC容器每次返回的是同一个Bean实例。 ② prototype 使用该属性定义Bean时,IOC容器可以创建多个Bean实例,每次返回的都是一个新的实例。 ③ request 该属性仅对HTTP请求产生作用,使用该属性定义Bean时,每次HTTP请求都会创建一个新的Bean,适用于WebApplicationContext环境。 ④ session 该属性仅用于HTTP Session,同一个Session共享一个Bean实例

java keyword 作用域

巧了我就是萌 提交于 2019-12-04 06:59:04
java作用域public ,private ,protected 及不写时的区别 在说明这四个关键字之前,我想就class之间的关系做一个简单的定义,对于继承自己的class,base class可以认为他们都是自己的子女,而对于和自己一个目录下的classes,认为都是自己的朋友。 1、public:public表明该数据成员、成员函数是对所有用户开放的,所有用户都可以直接进行调用 2、private:private表示私有,私有的意思就是除了class自己之外,任何人都不可以直接使用,私有财产神圣不可侵犯嘛,即便是子女,朋友,都不可以使用。 3、protected:protected对于子女、朋友来说,就是public的,可以自由使用,没有任何限制,而对于其他的外部class,protected就变成private。 作用域 当前类 同一package 子孙类 其他package public √ √ √ √ protected √ √ √ × friendly √ √ × × private √ × × × 不写时默认为friendly 来源: oschina 链接: https://my.oschina.net/u/923224/blog/207376

DBCC TRACEON - 跟踪标志 (Transact-SQL)

自闭症网瘾萝莉.ら 提交于 2019-12-04 06:39:02
跟踪标志用于设置特定服务器特征或更改特定行为。 例如,跟踪标志 3226 是一种常用的启动跟踪标志,可取消显示错误日志中的成功备份消息。 跟踪标志经常用于诊断性能问题或调试存储过程或复杂的计算机系统,但 Microsoft 支持部门还可能建议将它们用于解决会对特定工作负载产生负面影响的行为。 当按照指示使用时,所有记录的跟踪标志和 Microsoft 支持部门推荐的跟踪标志在生产环境中都完全受支持。 请注意,此列表中的跟踪标志在其特定用途方面可能会有一些其他注意事项,因此建议仔细查看此处和/或支持工程师提供的所有建议。 此外,与 SQL Server 中的任何配置更改一样,最好在部署标志之前在非生产环境中全面测试该标志。 Remarks 在 SQL Server 中,有三种跟踪标志:查询、会话和全局。 查询跟踪标志在特定查询的上下文中处于活动状态。 会话跟踪标志对某个连接有效,且只对该连接可见。 全局跟踪标志在服务器级别上进行设置,对服务器上的每一个连接都可见。 某些标志只能作为全局标志启用,而某些标志在全局或会话作用域都可以启用。 下列规则适用: 全局跟踪标志必须全局启用。 否则,跟踪标志无效。 建议在启动时通过使用 -T 命令行选项来启用全局跟踪标志。 这样可确保跟踪标志在服务器重新启动后保持活动状态。 若要让跟踪标志生效,请重启 SQL Server。 如果跟踪标志有全局

python基础-函数作用域

混江龙づ霸主 提交于 2019-12-04 06:26:02
函数 函数对象 函数是 第一类对象 函数名可以 被引用 函数名可以当作 参数 使用 函数名可以当作 返回值 使用 函数名可以当作 容器类型的元素 函数嵌套 嵌套调用 :在函数内部中调用函数 嵌套定义 :在函数内部中定义函数 名称空间 存放变量名称 的空间,分为 内置名称空间 、 全局名称空间 、 局部名称空间 内置名称空间 :python中,提前定义的名字,存在内置名称空间中。例如:关键字、内置方法 全局名称空间 :存放于文件级别的名字,就是全局名称空间 if / while / for 内部定义 的名字,在 执行之后 都存放于全局名称空间 # if 的示例: var = 4 if var > 5: var = "var 大于5" else: var = "var 小于等于5" print(var) # 打印结果:var 小于等于5 # while 的示例: num = 0 while num <= 3: num += 1 print(num) # 打印结果:4 # for 的示例 for i in range(2): pass print(i) # 打印结果:1 局部名称空间 : 函数内部定义 的所有名字都是存放于当前函数的内置名称空间 如果想访问一个变量值,必须先访问对应的名称空间,获取到该变量的名称以及名称和值内存地址之间的关系。 生命周期 内置名称空间 : python

函数的名称空间和作用域

大憨熊 提交于 2019-12-04 06:16:37
函数的名称空间和作用域 一、名称空间 1.什么是名称空间 名称空间就是存放名字(变量名或者函数名等)与对象映射/绑定关系的地方。例如x = 3,python会将内存空间存放对象3,然后将名字x与3的绑定关系存放于名称空间,del x 表示清除该绑定关系。 如果你想访问一个变量值,必须先访问对应的名称空间,拿到名字和对应的内存地址的绑定关系 2.名称空间的分类 内置名称空间 python提前定义过的名字,比如内置的函数名,就是存在于内置名称空间, 生命周期:python解释器启动的时候生效,解释器关闭的时候失效 全局名称空间 py文件执行过程中产生的名字都会存放于全局名称空间,是第二个被加载的名称空间,例如if,while,for内部定义的名字执行之后也会存放于全局名称空间。 生命周期:当启动当前py文件时全局名称生效,当前页面代码执行结束就会失效。 例如:以下名称都是全局名称空间import sys #模块名sys​x=1 #变量名x​if x == 1: y=2 #变量名y​def foo(x): #函数名foo y=1 def bar(): pass​Class Bar: #类名Bar pass 局部名称空间 函数内部定义的所有的名字都是存放于当前函数的局部名称空间 生命周期:当你调用函数时生效,函数体最后一行代码执行结束时失效 def foo(x): y=3 #调用函数时