作用域

Java Listener

|▌冷眼眸甩不掉的悲伤 提交于 2019-12-01 16:31:07
六、 Java Listener 1. Java Listener 简介 * Java Listener 1. Java Listener(即:Java 监听器):用于监听 ServletRequest、HttpSession、ServletContext 作用域对象的创建、销毁、及其属性修改变化 2. 在 Web 项目中可以有多个 Java 监听器 3. 应用场景: a.统计在线人数 b.统计页面访问量 c.服务器加载时数据初始化* Listener 的使用 1. 在 web.xml 中配置监听器: <listener> <listener-class>com.ncdx.listener.MyListener</listener-class> </listener> 2. 创建 Java 类,根据需求实现相应的接口: 1)ServletRequestListener 接口 //声明了 ServletRequest 作用域对象的创建、销毁的监听方法 2)ServletRequestAttributeListener 接口 //声明了 ServletRequest 作用域对象中属性的添加、修改、删除的监听方法 3)HttpSessionListener 接口 //声明了 HttpSession 作用域对象的创建、销毁的监听方法 4

[JavaScript] es6规则总结

被刻印的时光 ゝ 提交于 2019-12-01 16:19:53
let 和 const let 是块级作用域 let 声明的变量只在其所在的作用域内生效 <script> { var today = "周3"; let yesterday = "周2"; } console.log(today); //周3 console.log(yesterday); //yesterday is not defined </script> 之前在做保存局部变量的时候,都是通过闭包将当前的变量保存到就近的作用域链中。而使用 let 就不用了,let 声明的变量只在比如 for (var i = 0; i < 10; i++) { a[i].onclick = function() { console.log(i); //10 }; } console.log(i); //10 let 只在本次循环也就是块级作用域中有效 for (let i = 0; i < 10; i++) { a[i].onclick = function() { console.log(i); //1,2,3,4,5.... }; } console.log(i); //i is not defined 在 for 循环中,设置变量 let i = xxx 是一个父级作用域,而内部执行代码是一个单独的子级作用域 let 没有变量提升 一般语言都是先声明后使用,如果没声明使用是错误的

Python函数作用域

烂漫一生 提交于 2019-12-01 16:03:50
1 作用域   函数在编程语言中是作为一个整体而存在,Python中的函数是一等公民的对象,于是在函数里定义的函数(嵌套函数)或者一些变量,就有其作用的范围。如下代码: 1 def fn(): 2 a = 5 3 print(a)   执行上面代码会出现NameError: name 'a' is not defined错误,原因就在于函数体中的a的作用范围只是在函数内。 1.1 局部变量和全局变量   函数的参数以及函数体中定义的所有变量,共同构成了该函数的本地命名空间,所有的变量被称为该函数的本地变量,这些变量的作用范围只是在函数中有用,所以也称其为局部变量。不是本地变量的变量被称为全局变量。   系统每次执行一个函数时,就会创建新的本地(局部)命名空间。该命名空间代表一个局部环境。解析这些名称时,解释器将首相搜索局部命名空间。如果灭有找到匹配的名称,就会搜索全局命名空间。如果在全局命名空间中也找不到匹配值,最终会检查内置命名空间。如果仍然找不到,就会抛出NameError异常。   在函数的本地变量与全局变量名称相同时,则函数体内的该名称指的是本地变量,而不是全局变量。如下示例: 1 a = 40 2 def foo(): 3 a = 13 4 foo() 5 print(a) 6 # a仍然是40   Python中赋值即定义

作用域插槽

混江龙づ霸主 提交于 2019-12-01 15:36:56
slot标签传递的属性组成的对象,会被父组件的slot-scope属性值来代理,在父组件中使用就是slot-scope的属性值.slot标签的属性 //子组件Child.vue <div> <slot :name='SSX'></slot> </div> //父组件Parent.vue <div> <Child> <count-to slot-scope="PropsObj" :nameTo="PropsObj.name"></count-to> </Child> </div> 这样就可以把子组件Child中的值‘SSX’,通过slot的属性name传给子组件count-to中使用了 这就是作用域插槽 来源: https://www.cnblogs.com/gopark/p/11691114.html

JSTL

微笑、不失礼 提交于 2019-12-01 15:15:02
四、 JSTL 1. JSTL 简介 * 什么是 JSTL? 1. JSTL(JavaServer Pages Standard Tag Library,即:JSP 标准标签库),是由 SUN 公司发布的一个针对 JSP 开发的新组件,并作为 JSP 技术应用的一个标准 2. JSTL 标签库的作用是尽量减少 JSP 文件的 Java 代码,使 Java 代码与 HTML 代码分离,所以 JSTL 标识库符合 MVC 设计理念 3. MVC 设计理念是实现动作控制、数据处理、结果显示三者分离 4. JSTL 几乎能够做到传统 JSP 脚本代码能做的任何事情 5. JSTL 标签库包含了以下五个标签库: 1)JSTL 核心标签库(重点讲解):是最常用的 JSTL 标签 2)I18N 格式标签库:用来格式化并输出文本、日期、时间、数字 3)XML 标签库:提供了与关系型数据库(Oracle,MySQL,SQL Server 等等)进行交互的标签 4)SQL 标签库:提供了创建和操作 XML 文档的标签 5)函数标签库:包含一系列标准函数,大部分是字符串处理函数* 在 JSP 中使用 JSTL 标签需要具备如下两个条件: 1. 下载安装 JSTL 库(两种): 1)JSTL1.0 实现的下载地址为:https://archive.apache.org/dist/jakarta

Vue的编译过程

守給你的承諾、 提交于 2019-12-01 15:04:42
碰到是否有 template 选项时,会询问是否要对 template 进行编译: 在 template 编译(渲染成UI)有一个过程。模板通过编译生成AST,再由AST生成Vue的渲染函数,渲染函数结合数据生成Virtual DOM树,对Virtual DOM进行 diff 和 patch 后生成新的UI。将上图细化一下,也就是 template 编译的过程如下图所示: 在深入一点,如下: 有关于Vue中 template 的渲染的详细过程,可以阅读《 Vue的模板 》一文。 简理的理解就是Vue中的 template 编译成浏览器可识的过程会经过不少的过程。言外之意,最终在浏览器中呈现的并不是 <template> ,而是会解析成标准的HTML,然后将组件的标签替换为对应的HTML片段。用个小示例来举例: Vue将会通过其自身的编译机制(如前图所示的过程),将 <my-component> 编译成让浏览器可以识别的HTML代码。可以借助浏览器开发者工具一探究竟: 我的理解是这样的。上面的示例通过 new Vue() 创建一下人Vue的实例,并且将这个实例挂载到 div#app 的元素下,然后把组件 <my-component> 编译成HTML,最终渲染所需要的UI效果。继续用张图来描述这个过程,一图胜过千言万语嘛。 我们要说的是模板编译的作用域,在Vue中,组件是有一个作用域的

JavaScript函数

人盡茶涼 提交于 2019-12-01 13:34:42
普通函数 function demo(args){ // ... } 箭头函数 let demo = (args) => { // ... } 普通函数与箭头函数的区别: 普通函数中的 this 谁调用就指向谁;箭头函数的 this 是其父作用域。 普通函数的 this 会被 call / bind / apply 等改变;箭头函数中的 this 不会被改变。 匿名函数 (function(){ // ... })(); 注意: 匿名函数一般作为其它函数的形参、实参、返回值。 匿名函数必须立即执行,不能只定义不执行。 函数的扩展运算符 function demo (...args){ // ... } 函数的扩展运算符将函数的实参打包成了一个数组,供开发人员操作。 注意: 函数的扩展运算符只能在所有形参的末尾。 函数作用域 作用域 全局作用域:在所有 {} 以外的区域 块级作用域:除了函数内部外,其它 {} 内的区域 局部作用域:函数内部的区域 不同作用域的区别 全局作用域中,用 var 和 let 定义的变量都是全局变量 块级作用域中,用 var 定义的变量是全局变量,用 let 定义的变量是局部变量 局部作用域中,用 var 和 let 定义的变量都是局部变量 注意: 在定义是省略 var 和 let 的变量,无论在哪个作用域定义的都是全局变量 函数预解析 预解析:

web前端性能优化总结

孤街浪徒 提交于 2019-12-01 12:54:44
转自:http://www.2cto.com/kf/201604/498725.html 网站的划分一般为二:前端和后台。我们可以理解成后台是用来实现网站的功能的,比如:实现用户注册,用户能够为文章发表评论等等。而前端呢?其实应该是属于功能的表现。并且影响用户访问体验的绝大部分来自前端页面。 而我们建设网站的目的是什么呢?不就是为了让目标人群来访问吗?所以我们可以理解成前端才是真正和用户接触的。除了后台需要在性能上做优化外,其实前端的页面更需要在性能优化上下功夫,只有这样才能给我们的用户带来更好的用户体验。就好像,好多人问,男人在找女朋友的时候是不是只看外表,一些智慧的男人给出了这样的回答:脸蛋和身材决定了我是否想去了解她的思想,思想决定了我是否会一票否决她的脸蛋和身材。同理,网站也是这样,网站前端的用户体验决定了用户是否想要去使用网站的功能,而网站的功能决定了用户是否会一票否决前端体验。 不仅仅如此,如果前端优化得好,他不仅可以为企业节约成本,他还能给用户带来更多的用户,因为增强的用户体验。说了这么多,那么我们应该如何对我们前端的页面进行性能优化呢? 一般说来,web前端指网站业务逻辑之前的部分,包括浏览器加载、网站视图模型、图片服务、CDN服务等,主要优化手段有浏览器访问、使用反向代理才、CDN等。 浏览器访问优化 浏览器请求处理流程如下图: 1、减少http请求,合理设置

深入理解vue中的slot与slot-scope

≡放荡痞女 提交于 2019-12-01 12:03:30
<template> <div class="father"> <h3>这里是父组件</h3> <child> <div class="tmpl"> <span>菜单1</span> <span>菜单2</span> <span>菜单3</span> <span>菜单4</span> <span>菜单5</span> <span>菜单6</span> </div> </child> </div> </template>   子组件: <template> <div class="child"> <h3>这里是子组件</h3> <slot></slot> </div> </template>   在这个例子里,因为父组件在<child></child>里面写了html模板,那么子组件的 匿名插槽 这块模板就是下面这样。也就是说,子组件的匿名插槽被使用了,是被下面这块模板使用了。 <div class="tmpl"> <span>菜单1</span> <span>菜单2</span> <span>菜单3</span> <span>菜单4</span> <span>菜单5</span> <span>菜单6</span> </div>   最终的渲染结果如图所示: 注:所有demo都加了样式,以方便观察。其中,父组件以灰色背景填充,子组件都以浅蓝色填充。    具名插槽

Python3基础-函数作用域

我是研究僧i 提交于 2019-12-01 11:52:12
参考文档: https://www.runoob.com/python3/python3-namespace-scope.html 作用域 作用域就是一个 Python 程序可以直接访问命名空间的正文区域。 在一个 python 程序中,直接访问一个变量,会从内到外依次访问所有的作用域直到找到,否则会报未定义的错误。 Python 中,程序的变量并不是在哪个位置都可以访问的,访问权限决定于这个变量是在哪里赋值的。 变量的作用域决定了在哪一部分程序可以访问哪个特定的变量名称 作用域类型 L(Local) :最内层,包含局部变量,比如一个函数/方法内部。 E(Enclosing) :包含了非局部(non-local)也非全局(non-global)的变量。比如两个嵌套函数,一个函数(或类) A 里面又包含了一个函数 B ,那么对于 B 中的名称来说 A 中的作用域就为 nonlocal。 G(Global) :当前脚本的最外层,比如当前模块的全局变量。 B(Built-in) : 包含了内建的变量/关键字等。最后被搜索 NAME='小红' #全局作用域 def xiaolu(): name='小路' #闭包函数外得函数Enlcosing print(name) def xiaohuang(): name="小黄" #局部作用域 #内置作用域是通过一个名为 builtin