作用域

Java的内存划分

那年仲夏 提交于 2019-12-06 02:52:18
1,栈(Stack): 存放的都是方法中的局部变量,方法的运行一定要在栈当中。   局部变量:方法的参数或者方法内部的变量   作用域:一旦超出作用域,立刻从栈内存当中消失 2,堆(Heap):凡是 new 出来的东西,都在堆当中。   堆内存里面的东西都有一个地址值:16进制   堆内存里面的数据,都有默认值:     如果是整数:默认为0     如果是浮点数:默认为0.0     如果是字符:默认为'\u0000'     如果是布尔:默认为false     如果是引用类型:默认为null 3,方法区(Method Area):存储 .class 相关信息,包含方法的信息。 4,本地方法栈(Native Method Stack):与操作系统相关。 5,寄存器(pc Register):与CPU相关。 来源: https://www.cnblogs.com/3b2414/p/11959146.html

Requset作用域

会有一股神秘感。 提交于 2019-12-06 01:48:04
案例:当登陆密码或账号不正确时 提示 使用Requset对象中的作用域存储数据 语法: req.setAttribute(key, value);//键值对存在 当密码不存在时,设置作用域 else { // resp.sendRedirect("login.jsp"); req.setAttribute("msg", "账号或密码不正确"); req.getRequestDispatcher("login.jsp").forward(req,resp ); }  在jsp 里面读取 <% Object msg = request.getAttribute("msg"); %> <p style="color: red"><%=msg==null?"":msg%></p>      来源: https://www.cnblogs.com/ww103/p/11955597.html

javascript的作用域

本秂侑毒 提交于 2019-12-05 23:22:15
前几天我们解释了js的预编译,今天接着说一下 作用域 ,作用域这个词我相信大家都不会太陌生,比如说我们定义一个函数,一个函数就像一个屋子一样,屋子的形成就好像是形成了一个单独的域,和外界有一些阻隔,里边能看到外边,外边看不到里边,两个屋子之间是彼此独立的。这样我们可以把这个函数所生成的这个空间管他叫做一种作用域,但是,他不精准。 作用域确实是因为函数的产生而产生的独特的东西。也就是说:作用域属于函数,一个函数产生一个作用域。这俩是相绑定的。那作用域到底是什么呢? 我们都知道每一个对象都可以有属性,有方法。这是对象的两大特性,用来存值得。既然对象有属性,那一切为对象的东西就都可以有属性。对吧,典型的三段论嘛 function qwer(){ } 上边定义了一个函数,函数它也是一种特殊的对象,他身上也有属性。比如我们可以访问的qwer.name 还有一些属性: 以上这些能看到的属性都是我们可以访问的, 但是还有一些属性我们不能访问到,我们是看不到的,比如说test.[[scope]]属性。 在计算机专业术语中,scope翻译过来就是域,区域的意思。 [[scope]]属性仅供Javascript引擎使用,我们无法使用。test.[[scope]]里边存的就是由函数产生而产生的作用域 。里边很复杂的结构,接下来慢慢讲解。 其实呢, [[scope]]里存的是执行期上下文集合

JavaScript作用域

荒凉一梦 提交于 2019-12-05 23:05:17
一、 作用域 :变量可以起作用的范围。有全局作用域和局部作用域两种。 二、 全局变量和局部变量 全局变量:在任何地方都能访问到的变量,对应全局作用域;网页内所有脚本和函数都能够访问全局变量。 局部变量:只在固定代码段中可访问到的变量,最常见的例如函数内部,对应局部作用域。 注意 : 1.在Javascript中,对象和函数也是变量;    2.未使用var声明的变量是全局变量,不推荐使用; 3.变量退出作用域之后会销毁,全局变量关闭网页或浏览器才会销毁。    4.全局作用域形成了完整的Javascript环境。在html中,全局作用域是window,所有全局变量均属于window对象。 5.除非有意为之,否则请勿创建全局变量。全局变量(或函数)能够覆盖window变量(或函数)。任何函数,包括window对象,能够覆盖你的全局变量和函数。 三、 块级作用域 任何一对花括号中的语句集都属于一个块,在这之中定义的所有变量在代码块外都是不可见的,这就是块级作用域。在es5之前没有块级作用域的概念,只有函数作用域。 四、 作用域链 只有函数可以制造作用域结构,那么只要是有代码,至少有一个作用域,那就是全局作用域。凡是代码中有函数,那么这个函数就构成另一个作用域,叫1级作用域。这时候全局作用域又叫0级作用域,如果函数中还有函数,那么就以此类推,2级,3级....没有限制。

myeclipse快捷键

拟墨画扇 提交于 2019-12-05 20:53:34
Ctrl+1 快速修复Ctrl+D: 删除当前行 Ctrl+Alt+↓ 复制当前行到下一行(复制增加)Ctrl+Alt+↑ 复制当前行到上一行(复制增加)Alt+↓ 当前行和下面一行交互位置(特别实用,可以省去先剪切,再粘贴了)Alt+↑ 当前行和上面一行交互位置(同上)Alt+← 前一个编辑的页面Alt+→ 下一个编辑的页面(当然是针对上面那条来说了)Alt+Enter 显示当前选择资源(工程,or 文件 or文件)的属性Shift+Enter 在当前行的下一行插入空行(这时鼠标可以在当前行的任一位置,不一定是最后)Shift+Ctrl+Enter 在当前行插入空行(原理同上条)Ctrl+Q 定位到最后编辑的地方Ctrl+L 定位在某行 (对于程序超过100的人就有福音了)Ctrl+M 最大化当前的Edit或View (再按则反之)Ctrl+/ 注释当前行,再按则取消注释Ctrl+O 快速显示 OutLineCtrl+T 快速显示当前类的继承结构Ctrl+W 关闭当前EditerCtrl+K 参照选中的Word快速定位到下一个Ctrl+E 快速显示当前Editer的下拉列表(如果当前页面没有显示的用黑体表示)Ctrl+/(小键盘) 折叠当前类中的所有代码Ctrl+×(小键盘) 展开当前类中的所有代码Ctrl+Space 代码助手完成一些代码的插入(但一般和输入法有冲突

函数

牧云@^-^@ 提交于 2019-12-05 18:57:16
函数Function 了解函数 函数就是把特定功能的代码抽取出来并进行封装,用来重复执行一些功能,并起个名字(函数名)。函数对任何语言来说都是一个核心的概念。通过函数可以封装任意多条语句,而且可以在任何地方、任何时候调用执行 使用函数的好处,为什么要使用函数 函数可以重复执行某一部分代码(通过函数名调用) 使程序变得更简短而清晰 有利于程序维护 什么时候需要函数 当相同的代码出现多次时 当需要提取公共代码时 函数的定义 关键字声明(声明式): 格式: function 函数名(){} function sum(){} 函数的声明会提前 ==> 解析器会率先读取函数声明,并使其在执行任何代码之前可用(可以访问); 函数表达式(赋值式) var sum = function(){} 匿名函数: 没有名字的函数就叫匿名函数 函数的执行 手动调用: sum(); 事件驱动: 格式:元素.事件 = 函数名; buton.onclick = sum; 常见事件触发函数 onclick:点击事件 ondblclick:双击事件 onmouseover:鼠标移入事件 onmouseout:鼠标移开事件 onchange:内容改变事件(一般用于表单元素) oninput:输入内容时触发 常用内置函数 javascript内部事先定义好的函数 声明提前 函数声明提前 变量声明提前

Go语言 - 函数 | 作用域

Deadly 提交于 2019-12-05 17:50:03
函数是组织好的、可重复使用的、用于执行指定任务的代码块。本文介绍了Go语言中函数的相关内容。 介绍 Go语言中支持函数、匿名函数和闭包,并且函数在Go语言中属于“一等公民”。 函数可以赋值给变量 函数可以被当做参数传入函数 函数可以被调用 函数定义 Go语言中定义函数使用 func 关键字,具体格式如下: func 函数名(参数)(返回值){ 函数体 } // 函数可以无参数, 无返回值 函数名:由字母、数字、下划线组成。但函数名的第一个字母不能是数字。在同一个包内,函数名也称不能重名(包的概念详见后文)。 参数: 参数由参数变量和参数变量的类型组成 ,多个参数之间使用 , 分隔。 返回值:返回值由返回值变量和其变量类型组成,也可以只写返回值的类型,多个返回值必须用 () 包裹,并用 , 分隔。 函数体:实现指定功能的代码块。 // 定义函数 func seyHello() { fmt.Println("hello func") } func intSum(x int, y int) int { return x + y } 函数调用 func main() { // 函数调用 seyHello() // hello func res := intSum(1, 2) // 传参 fmt.Println(res) // 3 } 注意,调用有返回值的函数时,可以不接收其返回值。 参数

二、类型、值和变量

吃可爱长大的小学妹 提交于 2019-12-05 16:36:52
JS数据类型分为两类:基本数据类型和对象类型 基本数据类型包括数字、字符串、布尔类型、null和undefined 对象(object)是属性的集合,每个属性都由键值对构成;普通JS对象是”命名值“的无序集合,特殊对象数组(array)表示带编号的有序集合。 2.1数字 JS不区分整数值和浮点数值,所有数字均用浮点数值表示。运算符包括+、- 、*、/和% 更加复杂的运算通过Math对象的属性定义的函数和变量来实现: Math.pow(2,53) //2的53次幂 Math.round(.6) //=1.0 四舍五入 Math.ceil(.6) //=1.0 向上求整 Math.floor(.6) //=0.0 向下求整数 Math.abs(-5) //=5 绝对值 Math.max(x,y,z) //最大值 Math.min(x,y,z) //最小值 Math.random() //生成一个大于等于0小于1.0的随机数 Math.PI // 圆周率∏ Math.E // 自然对数的底e Math.sqrt(3) //3的平方根 Math.sin(0) // 三角函数 还有Math.cos和Math.atan Math.log(10) //10的自然对数 Math.log(100)/Math.LN10 //以10为底100的对数 Math.exp(3) //e的三次幂 正无穷大

ES6:let 与 const

╄→гoц情女王★ 提交于 2019-12-05 16:19:57
在ES6中,let 用来定义变量,const 用来定义常量 事实上var可以看成是js语言设计上的错误,但是不能移除,因为需要向后兼容 于是提出了一个新的关键字let,可以将let看成更完美的var 块级作用域 js中使用var来声明一个变量的时候,变量的作用域主要与函数的定义有关 针对其他块的定义来说是没有作用域的,比如for、if等,这往往会引发一些问题 比如:这个a在大括号外面还是可以用的 { var a = 1; } 但是这个a在大括号外面是不起作用的 { let a = 1; } 另外还有类似情况: ES5之前因为if和for等都没有块级作用域的概念,所以在很多时候,我们都必须借助function的作用域来解决应用外部变量的问题 而ES6中加入了 let ,具有了if和for等的块级作用域 const修饰的标识符不会被再被赋值,可以用const保证数据的安全性, 在开发中,优先使用const const如果指向对象的话,指的是对象不能修改,但是对象内部的属性值可以修改 来源: https://www.cnblogs.com/wbyixx/p/11933036.html

我理解的作用域

我只是一个虾纸丫 提交于 2019-12-05 15:43:25
JavaScript采用静态作用域:也叫词法作用域,函数的作用域是定义的时候就确定了;(因为JavaScript采用的是词法作用域,函数的作用域基于函数创建的位置。) var value = 1; function foo() { console.log(value); } function bar() { var value = 2; foo(); } bar(); // 结果是 1 分析,从上到下未执行时候foo中的value在全局条件下,此时的value是等于1的,而不会随着foo在bar中执行,value就变成2了; 所以是静态作用域,函数声明的时候就确定了作用域 这篇文章这样分析也可以 https://github.com/mqyqingfeng/Blog/issues/3执行 foo 函数,先从 foo 函数内部查找是否有局部变量 value,如果没有,就根据书写的位置,查找上面一层的代码,也就是 value 等于 1,所以结果会打印 1。    来源: https://www.cnblogs.com/qqfontofweb/p/11932792.html