变量

js的变量提升问题

邮差的信 提交于 2020-02-21 01:50:37
执行结果: 为什么第一个不输出全局变量呢? 我们先了解下变量提升,指的是变量声明总是会被解释器“提升”到函数体的顶部,这意味着,我们的var scope="局部”,但解释器会提升该scope变量——将该变量的声明提升到函数体的顶部。 注意:变量提升只是提升变量声明部分,并不会提升变量赋值部分。 上面的代码可以转换为: function test(){ var scope ; document.writeln(scope+"<br/>"); scope = "局部"; document.writeln(scope+"<hr/>"); } 这样的话就在test()函数里面,先声明了scope变量,但是第一次打印时还没有赋值,故为undefined 来源: CSDN 作者: victor_yjx 链接: https://blog.csdn.net/victor_yjx/article/details/104417210

Linq专题之var关键字

我的未来我决定 提交于 2020-02-21 01:14:41
  在c#1.0,c#2.0中声明一个变量时,总是要指定变量的类型,如果不指定变量类型编译器就会报错,产生编译错误。在c#3.0中我们可以不指定变量的具体类型,而使用一个新的关键字"var"来指定变量的类型,该变量的实际类型将在其初始化表达式中推到出来。下面实例代码中,我们用var声明了3个局部变量,并获取他们的类型: 1 using System; 2 using System.Collections.Generic; 3 using System.Linq; 4 using System.Text; 5 using System.Linq; 6 7 namespace LinqDemo 8 { 9 class Program 10 { 11 static void Main(string[] args) 12 { 13 14 LingVar(); 15 } 16 17 private static void LingVar() 18 { 19 20 var numberid = 10086; 21 22 var name = "IT少年"; 23 24 var arrayCity = new string[] { "BeiJing", "ShangHai" }; 25 26 27 Console.WriteLine("--numberid的类型----"); 28

linux定义只读变量命令-----readonly

扶醉桌前 提交于 2020-02-20 16:28:51
readonly readonly命令用于定义只读shell变量和shell函数。readonly命令的选项-p可以输出显示系统中所有定义的只读变量。 格式 readonly 【选项】【参数】 选项 -A:指向关联数组 -f:定义只读函数; -a:定义只读数组变量; -p:显示系统中全部只读变量列表。 理解案例 这个命令是到底有什么作用?用一个简单的案例,帮助理解。 首先我们登陆的用户是root [ root@linus ~ ] # who root pts / 0 2020 - 02 - 20 20 : 54 ( 192.168 .1 .11 ) root用户所对应的UID是0 [ root@linus ~ ] # echo $ UID 0 UID也是一个变量,我们尝试一下对其进行更改 [ root@linus ~ ] # UID = 11 - bash : UID : 只读变量 连上帝用户root都无法直接更改,这就是所谓的只读变量。为什么把UID定义成只读变量呢,仔细想一想,如果一个普通用户可以修改自己的UID,那么改成0的话,那岂不是可以拥有root用户权限,这么大的安全风险,当然要避免,所以把UID设置成只读变量。 readonly命令就是用来定义只读变量的。 常用实例 显示全部只读变量 注:是不是对显示的declare前缀很好奇,其实declare也是设置只读变量的命令

python基础——类的属性和方法

人盡茶涼 提交于 2020-02-20 15:49:04
参考:https://www.runoob.com/python3/python3-class.html 类的属性 包含:私有属性和公开属性,也可称为私有变量公共开变量 私有属性 格式:__private_attr = attr_value 解释: 两个下划线 开头,声明该方法为私有方法, 只能在类的内部调用 ,不能在类的外部调用,也就是只能在类定义时访问。内部调用使用self.__private_attr。 普通的类中的属性和其他定义变量无区别 格式:变量名 = 变量值 # coding:utf-8 class A : __priv = 20 com = 30 a = A ( ) print ( a . com ) print ( a . __priv ) #实体对象使用私有属性报错 ''' 30 AttributeError: 'A' object has no attribute '__priv' ''' 类的方法 私有方法和公共方法,定义和属性的定义相同,使用权限也一样。 # coding:utf-8 class A : __priv = 20 com = 30 def __init__ ( self ) : #由于__priv是类中的属性,在内置函数中不需要写入形参 print ( "this is init:%d" % self . __priv ) def com

Jmeter中接受命令行变量

亡梦爱人 提交于 2020-02-20 15:11:09
做性能测试的时候,有时候可能需要不停的去设置“线程组”那个界面的参数(例如线程数、循环次数、持续时间等),而每次修改-->保存-->cmd中运行总感觉麻烦,那就找一种方法可以在命令行中直接指定参数的值。 查看相关资料实操,可以发现JMeter的测试计划在运行Sampler之前会先加载运行属性(jmeter.properties,system.properties等)文件,而且JMeter还提供了方法可以动态修改属性,在命令行中使用【-J】 来指定JMeter Properties,脚本里面使用__P() 函数来获取命令中指定的属性值,那么方法就出来了。 如同下图设置并发数量,默认100, 持续时间默认是600s 之后用非gui运行的命令就是: jmeter -n -t jmeter-test.jmx -J Number=1000 -J duration=6000 -l test.jtl -J后面跟的就是变量名=变量值。 此次测试相当于:1000个并发,运行6000s。 -l后面跟的是结果文件,jtl格式文件。注意是L的小写。 来源: https://www.cnblogs.com/qianjinyan/p/12335494.html

JDK的安装和配置

自闭症网瘾萝莉.ら 提交于 2020-02-20 14:55:58
注意事项:安装JDK 选择安装目录 安装过程中会出现两次 安装提示 。第一次是安装 jdk ,第二次是安装 jre 。建议两个都安装在同一个java文件夹中的不同文件夹中。(不能都安装在java文件夹的根目录下,jdk和jre安装在同一文件夹会出错) 1:安装jdk最好自己改一下路径,找一个位置方便以后使用。 jre同上 2. 安装好JDK后配置环境变量 计算机→属性→高级系统设置→高级→环境变量 3.系统变量→新建 JAVA_HOME 变量 。 变量值填写jdk的安装目录(本人是 E:\Java\jdk1.7.0) 4.系统变量→寻找 Path 变量→编辑 在变量值最后输入 %JAVA_HOME%\bin;%JAVA_HOME%\jre\bin; (注意原来Path的变量值末尾有没有;号,如果没有,先输入;号再输入上面的代码) 5.系统变量→新建 CLASSPATH 变量 变量值填写 .;%JAVA_HOME%\lib;%JAVA_HOME%\lib\tools.jar(注意最前面有一点) 系统变量配置完毕 6.检验是否配置成功 运行cmd 输入 java -version (java 和 -version 之间有空格) 若如图所示 显示版本信息 则说明安装和配置成功。 来源: https://www.cnblogs.com/ZXDZXD/p/12335389.html

shell脚本-case语句 和 read参数

纵饮孤独 提交于 2020-02-20 13:52:08
case语法 case $变量名 in     "值 1"   如果变量值等于值1,则执行程序1     ;;     "值 2"   如果变量值等于2,则执行程序2     ;;   .......省略其他分支     *)   如果变量都不等于以上值,则执行此程序 esac    1 #!/bin/bash 2 read -p "小明现在要买机票" i 3 case $i in 4 "guangzhou") 5 echo "飞机票卖完了" 6 ;; 7 "shanghai") 8 echo "飞机票还剩一张" 9 ;; 10 "beijing") 11 echo "五十块一张" 12 ;; 13 *) 14 echo "拜拜" 15 esac read参数说明: -a 后跟一个变量,该变量会被认为是个数组,然后给其赋值,默认是以空格为分割符。 -d 后面跟一个标志符,其实只有其后的第一个字符有用,作为结束的标志。 -p 后面跟提示信息,即在输入前打印提示信息。 -e 在输入的时候可以使用命令补全功能。 -n 后跟一个数字,定义输入文本的长度,很实用。 -r 屏蔽\,如果没有该选项,则\作为一个转义字符,有的话 \就是个正常的字符了。 -s 安静模式,在输入字符时不再屏幕上显示,例如login时输入密码。 -t 后面跟秒数,定义输入字符的等待时间。 -u 后面跟fd

Android中@+id和@id的差别

五迷三道 提交于 2020-02-20 07:56:44
Android中的组件须要用一个int类型的值来表示。这个值也就是组件标签中的id属性值。 id属性仅仅能接受资源类型的值,也就是必须以@开头的值,比如,@id/abc、@+id/xyz等。 假设在@后面使用“+”,表示当改动完某个布局文件并保存后,系统会自己主动在R.java文件里生成对应的int类型变量。变量名就是“/”后面的值。比如,@+id/xyz会在R.java文件里生成int xyz = value。当中value是一个十六进制的数。假设xyz在R.java中已经存在同名的变量,就不再生成新的变量。而该组件会使用这个已存在的变量的值。 也就是说,假设使用@+id/name形式,当R.java中存在名为name变量时,则该组件会使用该变量的值作为标识。假设不存在该变量。则加入一个新的变量。并为该变量赋对应的值(不会反复)。 既然组件的id属性是一个资源id就能够,那么自然能够设置不论什么已经存在的资源id值,比如,@drawable/icon、@string/ok、@+string/you等。当然,也能够设置android系统中已存在的资源id,比如。楼主提出的@id/android:list。那么这个android是什么意思呢,实际上。这个android就是系统的R类(在R.java文件里)所在的package。我们能够在Java代码编辑区输入android.R.id.

【Java学习(一)】基础语法

*爱你&永不变心* 提交于 2020-02-20 01:58:53
一、注释 单行注释 //注释内容 多行注释 /* 注释内容 */ 文本注释 /** 注释内容 */ 二、标识符 关键词 abstract assert boolean break byte case catch char class const continue default do double else enum extents final finally float for goto if implements import instanceof int interface long native new package private protected public return strictfp short static super switch synchronized this throw throws transient try void volatile while 所有标识符都应该以字母(A-Z或a-z),美元符($)或下划线(_)开始; 首字符之后可以是字母,美元符,下划线或数字的任何组合; 不能用关键字作为变量名或方法名; 标识符是大小写敏感的; 三、数据类型 基本类型 数值类型 a. 整数类型:byte(占1个字节范围:-128 ~ 127); short(占2个字节范围:-32768 ~ 32767); int(占4个字节范围:-2147483648