首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
您找到你想要的搜索结果了吗?
是的
没有找到

JavaScript深入浅出补充——(一)数据类型,表达式和运算符

项目基本做完,在进行下一阶段学习之前先看视频学习回顾一下JavaScript 一、数据类型 JavaScript中有五种原始类型和一种对象类型 JavaScript弱类型语言中隐式转换 num-0 字符串减去...0,可以将字符串变量num转化为数字 num+“” 数字变量串变量加上空字符串,可以将数字num转化为字符串 等于== 当==两边是字符串和数字的时候会尝试把字符串转化为数字 严格等于=== 两边类型不同返回...false 两边相同: 需要注意NaN和任何东西比较都不等于,和自己也不等于,NaN≠NaN JavaScript中的比较是用引用去比较,不是用值去比较,所以new Object≠new Object...,即使他们长度和内容完全相同也是不相等的,因为他们不是完全相等的对象,只有定义一个对象x,让他和x去比较才是true,即使两个对象也不是true 包装对象 首先我们定义一个字符串变量,然后定义一个变量对象...,查看字符串,查看变量 尝试访问字符串长度,给字符串加一个属性,成功,访问这个属性,找不到 JavaScript中有一个隐藏机制,当把一个基本类型尝试以对象的方式去使用它的时候,比如去访问他的长度属性

76750

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在非严格等于(即两个等号时==)情况下,他们互有“帮派

28.4K42

一道二进制子串算法,让面试官都解不出来?

算法题目: 给定一个字符串 s ,计算具有相同数量0和1的非(连续)子字符串的数量,并且这些子字符串中的所有0和所有1都是组合在一起的。 重复出现的 子串要计算它们出现的次数。...s 给的都是二进制数,要求计算具有相同数量 0 和 1 的非(连续)子字符串的数量,这句话里面的条件有三个: 第一 不为,非(连续) 第二 0 和 1 是要相同数量的 第三 0 和 1 要是连续出现的子字符串的数量...描述 min 是 Math 的静态方法,应该像这样使用:Math.min(),不是作为你创建的 Math 实例的方法(Math 不是构造函数)。 如果没有参数,结果为Infinity。...它直接修改 arrayObject,不是创建一个新的数组。push() 方法和 pop() 方法使用数组提供的先进后出栈的功能。...该方法类似 indexOf() 和 lastIndexOf(),但是它返回指定的值,不是字符串的位置。 返回值 存放匹配结果的数组。

42830

一道二进制子串算法,让面试官都解不出来?

算法题目: 给定一个字符串 s ,计算具有相同数量0和1的非(连续)子字符串的数量,并且这些子字符串中的所有0和所有1都是组合在一起的。 重复出现的 子串要计算它们出现的次数。...s 给的都是二进制数,要求计算具有相同数量 0 和 1 的非(连续)子字符串的数量,这句话里面的条件有三个: 第一 不为,非(连续) 第二 0 和 1 是要相同数量的 第三 0 和 1 要是连续出现的子字符串的数量...描述 min 是 Math 的静态方法,应该像这样使用:Math.min(),不是作为你创建的 Math 实例的方法(Math 不是构造函数)。 如果没有参数,结果为Infinity。...它直接修改 arrayObject,不是创建一个新的数组。push() 方法和 pop() 方法使用数组提供的先进后出栈的功能。...该方法类似 indexOf() 和 lastIndexOf(),但是它返回指定的值,不是字符串的位置。 返回值 存放匹配结果的数组。

56230

JavaScript基础语法(一)

操作符 在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;i<2;i++){ //一维长度2 3 myarr[i]=new Array(); //再声明二维 4 for(var j=0;j<3;j++){ //二维长度为3 5

73220

typeof运算符及实现jquery中的addClass,removeClass,hasClass

Undefined类型:已经声明未赋值的变量的值为”undefined”[实际上未声明的变量用typeof检测也会返回undefined] 2....Null类型:表示的对象指针,相当于对象占位符,typeof返回object。如果返回为对象,却找不到这个对象时,通常会返回null 3....true不一定等于1,false也不一定等于0;同时注意这两个字面值是区分大小写的,也就是说True和False都不是Boolean值。...字符串起始字符的位置为0,最后一个字符的位置为字符串长度减1。其他数据类型可以使用toString()、String()方法转换成字符串类型。...二、javascript typeof运算符 typeof操作符,返回“表达式”的数据类型的字符串

68831

最实用的JavaScript一行代码

这个想法很简单,我们使用传递的参数 char 拆分字符串并获取返回数组的长度。由于每次将字符串拆分,都会比拆分器多一个;所以减去 1,我们有一个 characterCount 单行。...检查对象是否为 const isEmpty = obj => Reflect.ownKeys(obj).length === 0 && obj.constructor === Object 检查对象的空性实际上比看起来要困难得多...,即使对象为,每次检查对象是否等于 {} 也会返回 false。...在这一行中,我们检查对象的键长度是否等于 0,以及传递的参数是否为实际对象。...但逻辑对所有人都是一样的,我们必须得到数组及其长度的总和;然后,通过除法给出平均值。 在平均单行中,我们使用 reduce 来获取一行中数组的总和,不是使用循环。

73820

JavaScript String高阶用法

JavaScript String高阶用法 获取字符串长度(length属性) 在 JavaScript 中,使用字符串的 length 属性可以读取字符串长度。...对于 charAt() 方法来说,如果参数不在 0字符串的 length-1 之间,则返回空字符串;而对于 charCodeAt() 方法来说,则返回 NaN,不是 0 或空字符串。...0最后一个字符的下标值始终都是 length-1。...示例6 lastIndexOf() 方法的第二个参数指定开始查找的下标位置,但是,将从该点开始向左查找,不是向右查找。...var a = s.match(/c/); //返回数组[h] 如果没有找到匹配字符,则返回 null,不是数组。 当不执行全局匹配时,如果匹配模式包含子表达式,则返回子表达式匹配的信息。

17320

JavaScript 笔试题(二)

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 也就等于它本身了。

51620

javaScript的七种数据类型大全

如果一个数大于等于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。 ?

1.6K40

11 个 JavaScript One-Liner 技巧

我们使用传递的参数 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 单行程序。

65820

Shell 参数扩展及各类括号在 Shell 编程中的应用

及其左边的字符串: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是offsetM是length 返回索引,相当于keys(): ${!

1.5K70

JavaScript 10分钟入门

两个字符串表达式可以用+操作符连接,并可通过全等于比较: 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数组可动态增长:我们可以使用比数组的长度更大的索引。

1.3K100

Linux Shell基础篇五 - 运算符

大于返回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 ]]: 比较可知:[[ 表达式 ]] 即可以实现数字和字符串比较

74230

JavaScript!震惊你,只需一行代码!

2、检查对象是否为检查对象的空性实际上比看起来要困难得多,即使对象为,每次检查对象是否等于 {} 也会返回 false。幸运的是,下面的单行代码正是我们想要的。...const isEmpty = obj => Reflect.ownKeys(obj).length === 0 && obj.constructor === Object复制代码在这一行中,我们检查对象的键长度是否等于...7、 在元素后插入 HTML 字符串开发 Web 应用程序时,使用 JavaScript 更新 DOM 是一件很常见的事情。有一些基本的方法可以完成工作,但是,当情况变得复杂时,就很难克服。...const average = (arr) => arr.reduce((a, b) => a + b) / arr.length复制代码在平均单行中,我们使用 reduce 来获取一行中数组的总和,不是使用循环...然后,我们将它除以数组长度,这是一个数组的平均值。总结现在,我想你应该知道了 11 个简单但功能强大的 JavaScript 单行代码。

53920
领券