ES.47: Use nullptr rather than 0 or NULL 而不是ES.47: 使用nullptr表现空指针,而不是0或NULL Reason(原因) Readability...同时nullptr具有良好定义(非常严格的)的类型,很多情况下使用NULL或0会导致类型推断出错,但使用nullptr就不会。...Example(示例) Consider: 考虑以下代码: void f(int); void f(char*); f(0); // call f(int) f(nullptr);...// call f(char*) Enforcement(实施建议) Flag uses of 0 and NULL for pointers....标记使用0或者NULL表现指针的情况。这种变换可以或许可以通过简单的程序进行。
目录 1 问题 2 实现 1 问题 返回给前端的数据,如果数据库的字段没有数据,给返回的是null 要变成这个,全局都变成这样 2 实现 springboot返回给页面的json数据中,如果有数据为null...,则返回空字符串。...org.springframework.context.annotation.Primary; import org.springframework.http.converter.json.Jackson2ObjectMapperBuilder...@ConditionalOnMissingBean(ObjectMapper.class) public ObjectMapper jacksonObjectMapper(Jackson2ObjectMapperBuilder
项目基本做完,在进行下一阶段学习之前先看视频学习回顾一下JavaScript 一、数据类型 JavaScript中有五种原始类型和一种对象类型 JavaScript弱类型语言中隐式转换 num-0 字符串减去...0,可以将字符串变量num转化为数字 num+“” 数字变量串变量加上空字符串,可以将数字num转化为字符串 等于== 当==两边是字符串和数字的时候会尝试把字符串转化为数字 严格等于=== 两边类型不同返回...false 两边相同: 需要注意NaN和任何东西比较都不等于,和自己也不等于,NaN≠NaN JavaScript中的比较是用引用去比较,而不是用值去比较,所以new Object≠new Object...,即使他们长度和内容完全相同也是不相等的,因为他们不是完全相等的对象,只有定义一个对象x,让他和x去比较才是true,即使两个空对象也不是true 包装对象 首先我们定义一个字符串变量,然后定义一个变量对象...,查看字符串,查看变量 尝试访问字符串的长度,给字符串加一个属性,成功,访问这个属性,找不到 JavaScript中有一个隐藏机制,当把一个基本类型尝试以对象的方式去使用它的时候,比如去访问他的长度属性
空字符串 String [] false false 空数组 Array {} false false 空对象 Object 从表格中,我们可以看出想要判断是不是null, undefined...二、判定空数组的方法 分析:所谓空数组,就是数组的长度等于0。所以我们的难点就落在了怎么判断一个参数的数据类型是数组了。 我们可以通过isPrototypeOf()方法实现。...分析:和判断空对象类似的,我们只要能验证这个对象的keys长度是0,那就是个空对象了。...在表达式 obj instanceof AFunction 中,检测的是 AFunction.prototype 是否在obj 的原型链中,而不是检测 AFunction 自身。...(JSON.stringify(item) === '{}');// true 2. null, undefined, {}, [],"" , 0在非严格等于(即两个等号时==)情况下,他们互有“帮派
算法题目: 给定一个字符串 s ,计算具有相同数量0和1的非空(连续)子字符串的数量,并且这些子字符串中的所有0和所有1都是组合在一起的。 重复出现的 子串要计算它们出现的次数。...s 给的都是二进制数,要求计算具有相同数量 0 和 1 的非空(连续)子字符串的数量,这句话里面的条件有三个: 第一 不为空,非空(连续) 第二 0 和 1 是要相同数量的 第三 0 和 1 要是连续出现的子字符串的数量...描述 min 是 Math 的静态方法,应该像这样使用:Math.min(),而不是作为你创建的 Math 实例的方法(Math 不是构造函数)。 如果没有参数,结果为Infinity。...它直接修改 arrayObject,而不是创建一个新的数组。push() 方法和 pop() 方法使用数组提供的先进后出栈的功能。...该方法类似 indexOf() 和 lastIndexOf(),但是它返回指定的值,而不是字符串的位置。 返回值 存放匹配结果的数组。
操作符 在JavaScript中,有很多种操作符,算术操作符、赋值操作符、比较操作符以及逻辑操作符 1.1、算术操作符: +,-,*,/,除了加号(+)之外,其他都是按照四则运算大方式来进行,而加号(...摘自慕课网 1.2、赋值操作符: =操作符不是等于,而是赋值操作 1.3、比较操作符: 操作符 描述 < 小于 > 大于 等于 >= 大于等于 == 等于(比较值是否相同) === 等于(比较值和值的类型是否相同...1、定义 1var myarray=new Array(); //没有指定数组的长度 2 3var myarray= new Array(8); //创建一个长度为8的数组 注意: 创建的新数组是空数组...2、数组长度属性 使用array.length属性来获取数组的长度,因为数组的索引总是由0开始,所以一个数组的上下限分别是:0和length-1;同时,在JavaScript中数组的length属性是可变的...i=0;i2;i++){ //一维长度为2 3 myarr[i]=new Array(); //再声明二维 4 for(var j=0;j长度为3 5
Undefined类型:已经声明而未赋值的变量的值为”undefined”[实际上未声明的变量用typeof检测也会返回undefined] 2....Null类型:表示空的对象指针,相当于对象占位符,typeof返回object。如果返回为对象,却找不到这个对象时,通常会返回null 3....true不一定等于1,false也不一定等于0;同时注意这两个字面值是区分大小写的,也就是说True和False都不是Boolean值。...字符串起始字符的位置为0,最后一个字符的位置为字符串长度减1。其他数据类型可以使用toString()、String()方法转换成字符串类型。...二、javascript typeof运算符 typeof操作符,返回“表达式”的数据类型的字符串。
这个想法很简单,我们使用传递的参数 char 拆分字符串并获取返回数组的长度。由于每次将字符串拆分,都会比拆分器多一个;所以减去 1,我们有一个 characterCount 单行。...检查对象是否为空 const isEmpty = obj => Reflect.ownKeys(obj).length === 0 && obj.constructor === Object 检查对象的空性实际上比看起来要困难得多...,即使对象为空,每次检查对象是否等于 {} 也会返回 false。...在这一行中,我们检查对象的键长度是否等于 0,以及传递的参数是否为实际对象。...但逻辑对所有人都是一样的,我们必须得到数组及其长度的总和;然后,通过除法给出平均值。 在平均单行中,我们使用 reduce 来获取一行中数组的总和,而不是使用循环。
push方法修改原始数组,如果你想从函数返回数组而不是数组长度,那么应该在push item之后返回list。 ---- 21. 输出什么?...通过将hasName设置为name,可以将hasName设置为等于传递给getName函数的值,而不是布尔值true。 new Boolean(true)返回一个对象包装器,而不是布尔值本身。...name.length返回传递的参数的长度,而不是布尔值true。 33. 输出什么?...[1, 2, 3, 4] D: Error 答案: D .push方法返回数组的长度,而不是数组本身!...two等于""。 ([] || 0 ||“”):空数组[]是一个真值。这是第一个返回的真值。three等于[]。
JavaScript String高阶用法 获取字符串长度(length属性) 在 JavaScript 中,使用字符串的 length 属性可以读取字符串的长度。...对于 charAt() 方法来说,如果参数不在 0 和字符串的 length-1 之间,则返回空字符串;而对于 charCodeAt() 方法来说,则返回 NaN,而不是 0 或空字符串。...0,而最后一个字符的下标值始终都是 length-1。...示例6 lastIndexOf() 方法的第二个参数指定开始查找的下标位置,但是,将从该点开始向左查找,而不是向右查找。...var a = s.match(/c/); //返回数组[h] 如果没有找到匹配字符,则返回 null,而不是空数组。 当不执行全局匹配时,如果匹配模式包含子表达式,则返回子表达式匹配的信息。
new 关键字会进行如下的操作: 创建一个空的简单的 JavaScript 对象(即:{}); 设置该对象的构造函数到另一个对象上; 将步骤 1 新创建的对象作为 this 的上下文; 如果该对象没有返回对象...解析 array 的长度实际是 6,第一个、第三个、第五个元素都是空值(empty)。map 函数在遍历数组时会跳过运算空值,但最终结果会保留它,因此有值的元素进行了运算,空值元素不变。 ?...例如: ary = [ ,1 , ,null ,undefined ,2]; // 长度是 6 四个空值 ary.forEach(i => { console.log(i) }); ary =...& 按位“与” 都是 1 时结果是 1,其他结果都是 0; ~ 按位“非” 0 变为 1,1 变为 0(包括符号位也会变); 需要注意的是:~1 等于 -2,~-1 等于 0;~0 等于 -1;~-2...因为 0^a 总是等于 a,而 a^a 总是等于 0,a^a^a 也就等于它本身了。
如果一个数大于等于2的1024次方,那么就会发生“正向溢出”,即 JavaScript 无法表示这么大的数,这时就会返回Infinity。...Math.pow(2, 1024) // Infinity 如果一个数小于等于2的-1075次方(指数部分最小值-1023,再加上小数部分的52位),那么就会发生为“负向溢出”,即 JavaScript...1.3数据的全局方法: parseInt():将字符串转为整数,如果参数不是字符串会先转成字符串再转为整数,parseInt方法还可以接受第二个参数(2到 36之间),表示被解析的值的进制,返回该值对应的十进制数...从上面可以看出,字符串取坐标跟数组一样,也能使用length得出长度,但是不可以改变它的长度值。通过这个特征便可以使用for循环遍历字符串了。...x就会转成 true,就会显示'',如果不是空串,就会继续运行后面的三元运算符。 注意,空数组([])和空对象({})对应的布尔值,都是true。 ?
console.log(fruit[3]); 当访问数组中不存在的数据时,会返回 undefined 而不是报错 遍历数组元素 所谓遍历数组就是依次访问数组中所有元素的操作。...设置为小于 0 的数时,则检索的索引位置等于数组长度加上指定的负数,若结果仍是小于0的数,则检索整个数组。...indexOf() 方法的第2个参数用于指定开始查找的下标: 当其值大于或等于数组长度时,直接返回-1。...当其值为负数时,则查找的下标位置等于数组长度加上指定的负数,若结果仍是小于0的数,则检索整个数组。...开发中若需要将数组转换为字符串时,则可以利用 JavaScript 提供的方法实现。
我们使用传递的参数 char 拆分字符串并获得返回数组的长度。因为每一次分割字符串,都会比分割器多一根;所以减去 1,我们有一个 characterCount 单行。...2、 检查对象是否为空 检查对象的空性实际上比看起来要困难得多。每次检查对象是否等于 {} 都会返回 false,即使该对象为空。 幸运的是,下面的单行代码正是我们想要的。...const isEmpty = obj => Reflect.ownKeys(obj).length === 0 && obj.constructor === Object 在这一行中,我们检查对象的键的长度是否等于...const average = (arr) => arr.reduce((a, b) => a + b) / arr.length 在平均单行中,我们使用 reduce 来获取一行中的数组的总和,而不是使用循环...然后,我们将其除以数组长度,这是数组的平均值。 写在最后 今天的内容,就是这样,现在,我想你已经了解了 11 个简单但功能强大的 JavaScript 单行程序。
及其左边的字符串:txt ${file%/*}:拿掉最后条 / 及其右边的字符串:/dir1/dir2/dir3 ${file%%/*}:拿掉第一条 / 及其右边的字符串:(空值) ${file%.*}...1.2 bash 下的 substring 按字符位置、长度截取 ${file:0:5}:提取最左边的 5 个字节:/dir1 ${file:5:5}:提取第 5 个字节右边的连续 5 个字节:/dir2...${#file}:计算出字符串的长度,/dir1/dir2/dir3/my.file.txt 字符串长度 27 ${file: -4}:提取最后四个字符串(空格是为了避免冲突,注意不同于echo ${...关联数组可以使用MAP=([x]=a [y]=b)进行多项赋值,注意这是赋值的语句而不是声明。 亲测数组中的索引不一定要按顺序来,你可以先给2和3上的元素赋值。...而获取数组长度使用 ${#A[@]} 切片: ${ARY[@]:N:M} N是offset而M是length 返回索引,相当于keys(): ${!
两个字符串表达式可以用+操作符连接,并可通过全等于比较: if (firstName + lastName === "James Bond") 字符串的字符数量可以通过length属性获得: console.log...空字符串,数字0,以及undefined和null,会被转换为false,其他所有值会转换为true。 通常我们需要使用全等符号符号(===和!==)而不是==和!=。...否则,数字2是等于的字符串“2”的, (2 == “2″) is true VAR= [] 和var a = new Array() 都可以定义一个空数组。...注意,一个空对象{}不是真的空的,因为它包含的Object.prototype继承属性。所以,一个真正的空对象必须以Null为原型, var o = Object.create(null)。...正常的类 数组 可以用一个JavaScript数组文本进行初始化变量: var a = [1,2,3]; 因为它们是数组列表,JS数组可动态增长:我们可以使用比数组的长度更大的索引。
大于返回0, 否则返回1 [ $a \> $b ] 返回 1[[ $a > $b ]] 返回 1 -z zero,检测字符串长度是否为0,如果长度为0返回则返回0, 否则返回1。...-n not zero,检测字符串长度是否不为 0,如果长度不为 0 则返回0, 否则返回1。 [ -n “$a” ] 返回 true。 $ 检测字符串是否不为空,不为空返回0, 为空返回1。...0"else echo "-z $a : 字符串长度不为 0" # 输出这个fiif [ -n "$a" ]then echo "-n $a : 字符串长度不为 0" # 输出这个else...echo "-n $a : 字符串长度为 0"fiif [ $a ]then echo "$a : 字符串不为空" # 输出这个else echo "$a : 字符串为空"fi 输出:...区别2:[] 需要对 转义 , 格式为 [ 字符串1 \字符串2 ],而 [[]] 不需要转义,格式为 [[ 字符串1 字符串2 ]]: 比较可知:[[ 表达式 ]] 即可以实现数字和字符串比较
2. 判断对象类型 因为 typeof null === "object" 成立,而 null 并不是对象。...4. isNaN2 函数 isNaN 用来判断传入的参数是不是 NaN,是就返回 true。...== n; } isNaN 的不足:如果它的参数既不是 NaN,也不是数字,而是一个其他的类型变量,例如:一个字符串,这个字符串不能转化成数字,返回的结果不是 false,而是 true。...代码如下: function accMul(n1, n2){ var m = 0, s1 = n1.toString(), s2 = n2.toString();...,调用 split 方法分隔整数部分与小数部分,然后拿到小数部分的长度,相乘后的结果的小数位数等于相乘前两个小数的小数位数相加。
例如,两个数相加(注意使用的是反引号 ` 而不是单引号 ‘): #!...= $b: a 等于 b" fi if [ -z $a ] then echo "-z $a : 字符串长度为 0" else echo "-z $a : 字符串长度不为 0" fi if...[ -n $a ] then echo "-n $a : 字符串长度不为 0" else echo "-n $a : 字符串长度为 0" fi if [ $a ] then echo..."$a : 字符串不为空" else echo "$a : 字符串为空" fi 执行脚本,输出结果如下所示: abc = efg: a 不等于 b abc !...= efg : a 不等于 b -z abc : 字符串长度不为 0 -n abc : 字符串长度不为 0 abc : 字符串不为空 ---- 文件测试运算符 文件测试运算符用于检测 Unix 文件的各种属性
领取专属 10元无门槛券
手把手带您无忧上云