赋值

ES6(2)-解构赋值

你离开我真会死。 提交于 2020-02-07 04:01:49
概念 ES6允许按照一定模式,从数组和对象中提取值,对变量进行赋值,这被称为解构赋值。 如: var a = 1 ; var b = 2 ; var c = 3 ; 在ES6中可以这么做: var [ a , b , c ] = [ 1 , 2 , 3 ] ; 如果解构不成功,变量的值就等于 undefined . 如果等号的右边不是数组(不是可遍历的结构),将会报错。 等式右边可以嵌套、可以忽略、…b表示剩余运算符(若赋值失败,空数组[]) 设置默认值 解构赋值允许设置默认值 let [ num = 2 ] = [ ] ; //num=2 let [ num1 , num2 = 2 ] = [ 5 ] ; //num1 = 5,num2 = 2 let [ x = 1 , y = x ] = [ ] ; //x = 1, y = 1 let [ x = 1 , y = x ] = [ 2 ] ; //x = 2, y = 2 let [ x = 1 , y = x ] = [ 1 , 2 ] ; //x = 1, y = 2 let [ x = y , y = 1 ] = [ ] ; //报错,因为x用到默认值y时,y还没声明 [ x , y = 'b' ] = [ 'a' , undefined ] ; //x = 'a', y = 'b' 对象的解构赋值 var { name

5.MySQL函数

白昼怎懂夜的黑 提交于 2020-02-07 01:19:34
转载:https://www.cnblogs.com/hellokuangshen/p/10261657.html 官方文档 : 官方文档 常用函数 分类: 数学函数 , 字符串函数 , 日期和时间函数 , 系统信息函数 # 数学函数 (这里只列出一些常用的) SELECT ABS(-8); /*绝对值*/ SELECT CEILING(9.4); /*向上取整*/ SELECT FLOOR(9.4); /*向下取整*/ SELECT RAND(); /*随机数,返回一个0-1之间的随机数*/ SELECT SIGN(0); /*符号函数: 负数返回-1,正数返回1,0返回0*/ #字符串函数 SELECT CHAR_LENGTH('狂神说坚持就能成功'); /*返回字符串包含的字符数*/ SELECT CONCAT('我','爱','程序'); /*合并字符串,参数可以有多个*/ SELECT INSERT('我爱编程helloworld',1,2,'超级热爱'); /*替换字符串,从某个位置开始替换某个长度*/ SELECT LOWER('KuangShen'); /*小写*/ SELECT UPPER('KuangShen'); /*大写*/ SELECT LEFT('hello,world',5); /*从左边截取*/ SELECT RIGHT('hello,world'

python 基础知识

邮差的信 提交于 2020-02-06 17:04:36
目录 1. 基础语法 1.1 注释 1.2 转义字符 1.3 缩进 1.4 标识符 1.5 语言类型 1.6 运算符 1.6.1 算术运算符 1.6.2 位运算符 1.6.3 比较运算符 1.6.4 逻辑运算符 1.6.5 赋值运算符 1.6.6 成员运算符 1.6.7 身份运算符 1.6.8 运算优先级 1.7 内建函数 1.8 循环语句 码好python的每一篇文章. ![](https://raw.githubusercontent.com/singvis/upload_image/master/img/python01.png) 1. 基础语法 1.1 注释 在编写代码的时候,有些代码不需要执行或增加代码说明,那么就需要用到注释了。 被注释的文本或代码是不会被执行的。 注释可以使用如下三种方式: # 号 # 第一个注释,本行代码不会运行 print("hello world!") # 第二个注释 ''' 三个单引号 也叫块注释,支持换行。 ''' 第一行注释,本行代码不会运行 第二行注释,本行代码不会运行 第三行注释,本行代码不会运行 ''' print('hello world!') """ 三个双引号 也叫块注释,支持换行。 """ 第一行注释,本行代码不会运行 第二行注释,本行代码不会运行 第三行注释,本行代码不会运行 """ print('hello world!'

java bean 对象属性复制框架BeanMapping-release_0.0.2-注解支持

风格不统一 提交于 2020-02-06 16:35:55
BeanMapping 为了更加灵活的指定映射方式,0.0.2 版本引入了 @BeanMapping 注解。 注解的定义 注解定义在 bean-mapping-api 模块中, bean-mapping-core 会默认引入此模块。 package com.github.houbb.bean.mapping.api.annotation; import com.github.houbb.bean.mapping.api.core.ICondition; import com.github.houbb.bean.mapping.api.core.IConvert; import java.lang.annotation.Documented; import java.lang.annotation.ElementType; import java.lang.annotation.Inherited; import java.lang.annotation.Retention; import java.lang.annotation.RetentionPolicy; import java.lang.annotation.Target; /** * <p> BeanMapping 注解 </p> * * <pre> Created: 2019/2/19 10:11 PM </pre>

java bean 对象属性复制框架BeanMapping-01-入门案例

試著忘記壹切 提交于 2020-02-06 16:32:54
项目简介 Bean-Mapping 用于 java 对象属性赋值。 项目中经常需要将一个对象的属性,赋值到另一个对象中。 常见的工具有很多,但都多少不够简洁,要么不够强大。 特性 支持对象属性的浅拷贝 变更日志 变更日志 快速开始 准备 JDK1.8 及其以上版本 Maven 3.X 及其以上版本 maven 项目依赖 <dependency> <groupId>com.github.houbb</groupId> <artifactId>bean-mapping-core</artifactId> <version>0.0.1</version> </dependency> 核心类说明 BeanUtil 提供一个简单的静态方法 copyProperties。 /** * 复制属性 * 将 source 中的赋值给 target 中名称相同,且可以赋值的类型中去。类似于 spring 的 BeanUtils。 * @param source 原始对象 * @param target 目标对象 */ public static void copyProperties(final Object source, Object target) 测试代码参考 详情参见 bean-mapping-test 模块下的测试代码。 示例代码 对象的定义 BaseSource.java &

Scala入门_变量

冷暖自知 提交于 2020-02-06 16:21:43
声明变量 我们将来每一天编写scala程序都会定义变量。那scala语言如何定义变量呢? 语法格式 Java变量定义 int a = 0 ; 在scala中,可以使用 val 或者 var 来定义变量,语法格式如下: val/var 变量标识:变量类型 = 初始值 其中 val 定义的是不可重新赋值的变量 var 定义的是可重新赋值的变量 [!NOTE] scala中定义变量类型写在变量名后面 scala的语句最后不需要添加分号 在解释器中定义一个变量 示例:定义一个变量保存一个人的名字"tom" 步骤 打开scala解释器 定义一个字符串类型的变量用来保存名字 参考代码 scala> val name:String = "tom" name: String = tom val和var变量 示例 给名字变量进行重新赋值为Jim,观察其运行结果 参考代码 scala> name = "Jim" <console>:12: error: reassignment to val name = "Jim" 示例 使用 var 重新定义变量来保存名字"tom",并尝试重新赋值为Jim,观察其运行结果 参考代码 scala> var name:String = "tom" name: String = tom scala> name = "Jim" name: String = Jim [

垃圾回收算法——复制式回收

那年仲夏 提交于 2020-02-06 15:52:00
标记-清扫回收地开销较低,但其可能受到内存碎片问题地困扰。在一个设计良好地系统中,垃圾回收通常只会占用整体执行时间地一小部分,赋值器地执行开销将决定整个程序的性能,因此应当设法降低赋值器的开销,特别是应当尽量提升它的分配速度。标记-整理回收器可以根除碎片问题,而且支持极为快速的“阶跃指针”分配,但它需要多次堆遍历过程,进而显著增加了回收时间。 半区复制算法: 该算法属于追踪式回收算法。回收器在复制过程中会进行堆整理,从而可以提升赋值器的分配速度,且回收过程只需对存活对象遍历一次。其最大的缺点在于堆的可用空间降低了一半。 1.半区复制回收 基本的复制式回收器会将堆划分为两个大小相等的半区,分别是来源空间和目标空间。当堆空间足够时,在目标空间中分配新对象的方法是根据对象大小简单地增加空闲指针,如果可用空间不足,则进行垃圾回收。回收器在将存活对象从来源空间复制到目标空间之前,必须先将两个半区的角色互换。在回收过程中,回收器简单地将存活对象从来源空间中迁出;在回收完成后,所有存活对象将紧密排布在目标空间地一端。在下一轮回收之前,回收器将简单地丢弃来源空间(以及其中的对象),但在实际应用中基于安全考虑,许多回收器在初始化下轮回收过程之前都会先将该区域清零。 与标记-整理回收不同,半区复制回收无须在对象头部引入额外空间。由于来源空间中的对象在复制完成后便不再使用

ES6 解构赋值

天涯浪子 提交于 2020-02-06 11:37:35
解构赋值 解构赋值 :解开目标的整体解构; 赋值 :将目标中的数据赋值到我们定义的变量中; 对象的解构赋值 **对象:**每个对象都有若干的属性和方法,冒号赋值逗号间隔,在javascript中一切皆对像。通过点语法访问对象中的数据。 let obj = { a = 10 ; b = 20 ; } let a = obj . a ; let b = obj . b ; 对象解构赋值:大括号中,名字必须和obj中保持一致也就是说 变量名必须和属性名一致 let { a , b } = obj ; console . log ( a , b ) 数组的解构赋值 数组中的注意点: 保持顺序一致 let arr = [ 1 , 2 , 3 , 4 , 5 ] ; let [ q , w , e , r ] = arr ; console . log ( q , w , e , r ) ; 字符串的解构赋值 和数组一致, 变量名的存储顺序 和 字符串中存储的顺序一致. let str = "abc" ; let [ d , f ] = str ; console . log ( d , f ) ; 来源: CSDN 作者: Jason–json 链接: https://blog.csdn.net/weixin_46146313/article/details/104191957

JavaScript 运算符

笑着哭i 提交于 2020-02-06 09:46:13
赋值运算符 赋值运算符用于为变量指定变量值,与 Java、C 类似,JavaScript 也使用“=”作为赋值运算符。 //将变量str 赋值为 JavaScript var str = "JavaScript " ; //将变量 pi 赋值为3.14 var pi= 3. 14 ; //将变量赋值为 true var visited= true ; 除此之外,也可使用赋值运算符将一个变量的值赋给另一个变量。 即如下代码也是正确的 //将变扯 str 赋值为 JavaScript var str = "JavaScript " ; //将变批 str 的值赋给 str2 var str2 = str ; 赋值语句本身是有值的,赋值语句的值就是等号(=)右边被赋的值。 因此 ,赋值运算符支持连续赋值,通过使用多个赋值运算符 ,可以一次为多个变量赋值 ,如下代码 是正确的 //为 b, c,d 赋值,四个变量的值都是 var a= b = c = d = 7 ; //输出四个变量的值 alert ( a + ' \n ' + b + ' \n ' + c + ' \n ' + d ) ; 赋值运算符还可用于将表达式的值赋给变量,如下代码也是正确的: //为变量 x 赋值为 12.34 var x = 12 . 34 ; //将表达式的值赋给y var y= x + 5 ; //输出

python基础学习-语句与表达式

微笑、不失礼 提交于 2020-02-06 04:29:53
语句与表达式 代码风格: 指南 PEP8; PEP8风格 缩进4个字符/tab键; 一行字符不超过79个; 如果字符太长可以换行 \。 赋值语句:基本赋值,序列赋值 (x,y)=(5,10) x,y=5,10 x,y=y,x 交换变量 s=‘like.cn’ a,b,c=s[0],s[1],s[2:] 将后边的全部赋给c 或者用 a,b, c=s ' ’ 扩展序列 解包赋值 ,获取剩余变量返回列表list 将列表串起来 b=’ ’ ,join(b) 一个里面,只能有一个星号* 当追加时,a,b中都有一样元素 a=b=[] a.append(3) a=[3]=b 若想不同的话 a=[] b=[] a.append(3) a,b=[],[] a.append(3) 则a,b不同 参数比赋值 eg: a,b=1,2 a+=b a=3 eg: l=[1,2] l+=[9,10] l=[1,2,] l.extend([3,5,7]) 表达式:函数调用,字面值,方法调用,打印操作 print() sep=‘分隔符’; end=‘终止符’, file=指定文件 len( ) 函数调用 l.append() print(s,url) print(s,url1,url2,sep=’|’) print(s,url,url1,end=’……\n’) print(s,url,url1,end=’……\n’