当前位置: 首页 > news >正文

聊城做企业网站垦利网站设计

聊城做企业网站,垦利网站设计,wordpress文章置顶2篇,做网站练手项目算术运算符 1. 加法运算符#xff08;#xff09; 加法运算符用于将两个值相加。如果两个操作数都是数字#xff0c;则它们将被加在一起。如果其中一个操作数是字符串#xff0c;则另一个操作数将被转换为字符串#xff0c;然后执行字符串连接。 运算子不同#xff0c…算术运算符 1. 加法运算符 加法运算符用于将两个值相加。如果两个操作数都是数字则它们将被加在一起。如果其中一个操作数是字符串则另一个操作数将被转换为字符串然后执行字符串连接。 运算子不同导致执行不同的语法这种现象叫做重载。 let result1 5 3; // result1 等于 8 let result2 Hello World; // result2 等于 Hello World依次调用 valueOf() 和 toString() 转为原始类型再进行相加。 console.log(Number({})) console.log({} 1) // [object Object]1 console.log({}.toString()) // [object Object]注特例 - 如果运算子是一个 Date 对象的实例那么会优先执行 toString 方法。 let obj new Date() obj.valueOf function () {return 1 }; obj.toString function () {return hello }; console.log(obj 2) // hello2四则运算中的 - * / 都是转换成数值进行运算即可。如果无法转换成数值那么最终得到的结果就是 NaN。 2. 余数运算符% 余数运算符返回除法操作的余数。它可以用于确定一个数字是否为另一个数字的倍数或者在循环中获取周期性的值。 let remainder 10 % 3; // remainder 等于 1因为 10 除以 3 的余数是 1需要注意的是运算结果的正负号是由第一个运算子的正负号决定的。 console.log(-1 % 2) // -1 console.log(1 % -2) // 1所以为了得到正确的结果可以使用绝对值函数。 // 错误写法 function isOdd(n) {return n % 2 1 } isOdd(-2) // false isOdd(-1) // false// 正确写法 function isOdd(n) {return Math.abs(n % 2) 1 } isOdd(-2) // false isOdd(-1) // true余数运算符还可以用于浮点数的运算。但是无法得到精确的结果。 3. 自增和自减运算符 和 -- 自增运算符用于将变量的值增加 1而自减运算符–用于将变量的值减少 1。它们可以在变量前缀前置递增/递减或后缀后置递增/递减使用根据其位置在表达式中的不同会产生不同的效果。 let x 5; let y x; // x 现在等于 6y 等于 6 let z x--; // x 现在等于 5z 等于 64. 数值运算符和负数值运算符 和 - 数值运算符用于将操作数转换为数字而负数值运算符-用于将操作数转换为负数。NaN 也是数值。连用两个负数值运算符等同于数值运算符(-(-x))。 数值运算符是一元运算符只操作一个数而加法运算符是二元运算符需要两个操作数。都会返回一个新值而不会改变原始值。 let num1 10; // num1 等于 10将字符串转换为数字 let num2 -10; // num2 等于 -10运算之后变量的值发生改变这种效应叫做运算的副作用。自增和自减是仅有的两个具有副作用的运算符。 5. 指数运算符** 指数运算符计算第一个操作数的第二个操作数次幂。 let result 2 ** 3; // result 等于 82 的 3 次幂是 8指数运算符是右结合所以多个连用时先进行最后边的计算。 console.log(2 ** 3 ** 2) // 5126. 赋值运算符 赋值运算符用于将右侧的值赋给左侧的变量或属性。它将右侧的值计算出来并将结果赋给左侧的变量。 let x 5; x 3; // 等同于 x x 3x 现在等于 8比较运算符 比较运算符用于比较两个值的大小返回一个布尔值。 NaN 进行比较运算返回都是 false即使与自己做全等运算计算时返回都是 NaN。 1. 非相等运算符字符串的比较 非相等运算符!用于比较两个值是否不相等。 先看两个运算子是否都是字符串如果是就按照字典顺序比较比较 Unicode 码点几乎包含所有字符位数不相同依次比较各位上的字符否则就将两个运算子转成数值再比较数值的大小。 let result1 hello ! world; // result1 等于 true因为 hello 不等于 world let result2 hello ! hello; // result2 等于 false因为 hello 等于 hello2. 非相等运算符非字符串的比较 同样的非相等运算符也可以用于比较非字符串的值它会在必要时将值进行类型转换然后再进行比较。 原始类型值 如果两个运算子都是原始类型的值则是先转为数值再进行比较。 对象 如果运算子是对象先转成原始类型的值再进行比较。 转为原始类型先调用 valueOf()如果还是对象再调用 toString()。两个对象之间的比较也是如此。 console.log([2] [1]) // true console.log({x: 2} {x: 1}) // true [object Object] [object Object]3. 严格相等运算符 严格相等运算符用于比较两个值是否完全相等包括它们的值和数据类型。只有在值和类型都相同时才返回 true否则返回 false。 普通比较 let result5 5 5; // result5 等于 true因为 5 的值和类型都等于 5 let result6 5 5; // result6 等于 false因为 5 的类型是数字而 5 的类型是字符串同一类的原始类型值 console.log(1 0x1) // true console.log(NaN NaN) // false console.log(0 -0) // true复合引用类型值 此时不再是比较值而是比较地址。 对象两个对象的比较严格相等比较的是地址而大于或者小于比较的是值。 console.log({} {}) // false console.log([] []) // false console.log(function () {} function () {}) // false console.log({} {}) // truenull 和 undefined console.log(undefined undefined) //true console.log(null null) //true4. 严格不相等运算符! 严格不相等运算符!与严格相等运算符相反用于比较两个值是否不完全相等包括它们的值和数据类型。 逻辑是先求严格相等运算符的结果然后返回相反值。 let result7 5 ! 5; // result7 等于 true因为 5 的类型是数字而 5 的类型是字符串 let result8 5 ! 10; // result8 等于 true因为 5 的值和类型都不等于 105. 相等运算符 相等运算符用于比较两个值是否相等。它会在必要时进行类型转换然后再进行比较。 原始类型值 原始类型值会转换成数值后再进行严格比较。 console.log(2 true) // false console.log(true true) // false console.log( 0) // true // 字符串转成数字时省略前置和后置的空格 console.log(\n 1 \t 1) // true对象与原始类型值比较 对象会先转为原始类型值再进行比较。 对象先调用 valueOf()得到原始类型的值进行比较如果还是对象再调用 toString()得到字符串形式再进行比较。 console.log([1,2] 1,2) // true console.log([1, 2] 1,2) // true // 注意空格 console.log([1,2] 1, 2) // false // 注意空格 console.log([1] true) // trueundefined 和 null undefined 和 null 只有和自身比较时或者相互比较时才返回 true与其他类型的值比较时都返回 false。 console.log(undefined undefined) // true console.log(null null) // true console.log(null undefined) // true console.log(undefined 0) // false console.log(null 0) // false console.log(undefined false) // false console.log(null false) // false相等运算符的缺点 一些反直觉的隐式类型转换。 console.log(0 ) //true console.log(0 0) // true console.log(2 false) // false console.log(2 true) // false console.log(0 null) // false console.log(0 undefined) // false console.log(0 NaN) // false console.log(false false) // false console.log(false 0) // true console.log(false undefined) // false console.log(false null) // false console.log(null undefined) // true console.log( \t\r\n 0) // true所以还是使用吧。 6. 不相等运算符! 不相等运算符!与相等运算符相反用于比较两个值是否不相等。它也会在必要时进行类型转换然后再进行比较。 let result11 5 ! 5; // result11 等于 false因为在比较时会将字符串 5 转换为数字 5然后比较它们的值 let result12 5 ! 10; // result12 等于 true因为 5 不等于 10布尔运算符逻辑运算符 1. 取反运算符! 取反运算符!用于取反一个布尔值将 true 变为 false将 false 变为 true。 使用!!快速将某变量转为布尔值。 let isTrue true; let isFalse !isTrue; // isFalse 等于 false对于非布尔值取反运算符会将其转为布尔值。可以认为以下六个取反后为 true使用 Boolean() 方法调用后都是 false其他都是 false undefinednullfalse0NaN空字符串(‘’) console.log(![]) // false console.log(!{}) // false2. 且运算符 运算规则如果第一个运算子的布尔值为 true则返回第二个运算子的值是值而非布尔值如果第一个运算子的布尔值为 false则直接返回第一个运算子的值不再对第二个运算子求值。 console.log(t f) // f console.log( y) // 通过第一个表达式的值控制第二个运算子的机制叫做短路。等价于 if 结构。 console.log(t f) // f // 等价于 if (t) {f }当存在多个表达式时返回第一个布尔值为 false 的表达式的值如果所有表达式的布尔值都为 true则返回最后一个表达式的值。 3. 或运算符|| 运算规则如果第一个运算子的布尔值为 true则返回第一个运算子的值是值而非布尔值如果第一个运算子的布尔值为 false则返回第二个运算子的值。 当存在多个表达式时返回第一个布尔值为 true 的表达式的值如果所有表达式的布尔值都为 false则返回最后一个表达式的值。 或 常用于为一个变量设置默认值 text text || 4. 三元条件运算符? : 三元条件运算符? :是 JavaScript 中的条件运算符用于简洁地表示一个条件。它由一个条件表达式一个问号 ?一个返回值为真时执行的表达式和一个冒号 :一个返回值为假时执行的表达式组成。 是 js 中唯一一个需要三个表达式的值。 let age 20; let allowed (age 18) ? Allowed : Not Allowed; // 如果年龄大于等于 18allowed 等于 Allowed否则等于 Not Allowed和 if…else… 的区别是if…else… 是语句没有返回值三元表达式是表达式。具有返回值。 位运算符 按位运算符是将操作数换算成 32 位的二进制整数然后按每一位来进行运算。 1. 按位非NOT(~) 按位非操作符~用于对一个二进制数的每一位取反。它将操作数的每个位取反0 变为 11 变为 0。 let x 5; // 二进制表示为 00000000000000000000000000000101 let result ~x; // 二进制表示为 11111111111111111111111111111010对应的十进制为 -6按位非实质上是对操作数求负然后减去 1. 2. 按位与AND() 按位与操作符用于对两个二进制数的每一位执行逻辑与操作。只有当两个相应位都为 1 时结果才为 1否则为 0。 let x 5; // 二进制表示为 00000000000000000000000000000101 let y 3; // 二进制表示为 00000000000000000000000000000011 let result x y; // 二进制表示为 00000000000000000000000000000001对应的十进制为 13. 按位或OR(|) 按位或操作符|用于对两个二进制数的每一位执行逻辑或操作。只要两个相应位中的至少有一个为 1结果就为 1。 let x 5; // 二进制表示为 00000000000000000000000000000101 let y 3; // 二进制表示为 00000000000000000000000000000011 let result x | y; // 二进制表示为 00000000000000000000000000000111对应的十进制为 74. 按位异或XOR(^) 按位异或操作符^用于对两个二进制数的每一位执行逻辑异或操作。如果两个相应位不同则结果为 1否则为 0。 let x 5; // 二进制表示为 00000000000000000000000000000101 let y 3; // 二进制表示为 00000000000000000000000000000011 let result x ^ y; // 二进制表示为 00000000000000000000000000000110对应的十进制为 6console.log(true ^ aaa) // 1 // aaa 此时转为了 NaN为假按位异或如果是非整数值两个操作数中只有一个为真就返回 1 否则为 0 。 5. 按位左移Left Shift() 按位左移操作符将一个数字的所有位向左移动指定的位数。左侧最高位被丢弃右侧用 0 补充。 乘以二的指定次方 let x 5; // 二进制表示为 000000000000000000000101 let result x 2; // 二进制表示为 00000000000000000000000000010100对应的十进制为 206. 按位右移Right Shift() 按位右移操作符将一个数字的所有位向右移动指定的位数。对于无符号数左侧用 0 填充。对于有符号数正数左侧用 0 填充负数左侧用 1 填充。 除以二的指定次方 let x 5; // 二进制表示为 00000000000000000000000000000101 let result x 1; // 二进制表示为 00000000000000000000000000000010对应的十进制为 2其他运算符 1. void 运算符 void 运算符用于指定一个表达式不返回任何值。它通常用于在 href 属性中使用 JavaScript 代码时防止页面跳转。 a hrefjavascript:void(0)点击这里不跳转/a建议使用括号避免不必要的错误。比如void 4 7 等价于 (void 4) 7。 void 0 //undefined void(0) //undefined void (x 5) // undefined防止页面跳转。 // ----- function f() {console.log(hello) } a hrefhttp://localhost:3000 onClickf(); teturn false;点击/a 2. 逗号运算符 逗号运算符允许在一个语句中执行多个操作并返回最后一个操作的值。它的优先级是最低的通常用于在一行中组合多个表达式。 let x (5 3, 10 - 2); // x 等于 8逗号运算符会依次执行两个操作并返回最后一个操作的值在上面的例子中逗号运算符首先执行了加法操作 5 3然后执行了减法操作 10 - 2最终返回了减法的结果即 8。 用途在返回一个值之前进行一些辅助操作 let value (console.log(hi), true) value运算顺序 JavaScript 中的运算顺序是由运算符的优先级、圆括号的作用以及左结合和右结合规则来决定的。让我们逐个来看 1. 优先级 每个运算符都有一个固定的优先级它决定了在没有圆括号的情况下运算符的执行顺序。 常见规则优先级从高到低依次是小于等于严格等于或||三元?:等号。 let result 5 3 * 2; // result 等于 11先执行乘法再执行加法2. 圆括号的作用 圆括号内只能放表达式放语句会报错。 作用 把表达式放在圆括号之中提升运算优先级跟在函数后面调用函数函数放在圆括号内会返回函数本身 let result (5 3) * 2; // result 等于 16先执行圆括号内的加法然后再乘以 2function f() {return 1 }console.log((f)) // [Function: f]3. 左结合和右结合 左结合指的是多个具有相同优先级的运算符从左向右计算右结合则是从右向左计算。大多数运算符都是左结合的例如加法和乘法运算符。 let result1 5 3 2; // result1 等于 10先计算 5 3 得到 8然后再加上 2但是有一些运算符是右结合的例如赋值运算符、三元条件运算符和指数运算符(**)。右结合意味着先计算右边的操作数然后将结果赋给左边的操作数。 let x 5; let y 3; let z x y; // z 等于 3先将 y 的值赋给 x然后将 x 的值赋给 zq a ? b : c ? d : e;面试题 let a ?; if (a 1 a 2 a 3) {console.log(1) } // 方法一 let a {i:1 ,toString(){return a.i} } // 方法二 let a {i: 1,valueOf(){return a.i} }
文章转载自:
http://www.morning.rrrrsr.com.gov.cn.rrrrsr.com
http://www.morning.djxnw.cn.gov.cn.djxnw.cn
http://www.morning.hfytgp.cn.gov.cn.hfytgp.cn
http://www.morning.bxnrx.cn.gov.cn.bxnrx.cn
http://www.morning.ldynr.cn.gov.cn.ldynr.cn
http://www.morning.zqdzg.cn.gov.cn.zqdzg.cn
http://www.morning.ygwbg.cn.gov.cn.ygwbg.cn
http://www.morning.ydwnc.cn.gov.cn.ydwnc.cn
http://www.morning.lsfbb.cn.gov.cn.lsfbb.cn
http://www.morning.pnntx.cn.gov.cn.pnntx.cn
http://www.morning.bxqtq.cn.gov.cn.bxqtq.cn
http://www.morning.zlrsy.cn.gov.cn.zlrsy.cn
http://www.morning.fxjnn.cn.gov.cn.fxjnn.cn
http://www.morning.dmkhd.cn.gov.cn.dmkhd.cn
http://www.morning.lxjxl.cn.gov.cn.lxjxl.cn
http://www.morning.sqyjh.cn.gov.cn.sqyjh.cn
http://www.morning.lyhry.cn.gov.cn.lyhry.cn
http://www.morning.ncqzb.cn.gov.cn.ncqzb.cn
http://www.morning.yfrbn.cn.gov.cn.yfrbn.cn
http://www.morning.lmmh.cn.gov.cn.lmmh.cn
http://www.morning.pqbkk.cn.gov.cn.pqbkk.cn
http://www.morning.aowuu.com.gov.cn.aowuu.com
http://www.morning.gbsfs.com.gov.cn.gbsfs.com
http://www.morning.wcczg.cn.gov.cn.wcczg.cn
http://www.morning.zcqgf.cn.gov.cn.zcqgf.cn
http://www.morning.qsbcg.cn.gov.cn.qsbcg.cn
http://www.morning.phlrp.cn.gov.cn.phlrp.cn
http://www.morning.qkqpy.cn.gov.cn.qkqpy.cn
http://www.morning.gltmz.cn.gov.cn.gltmz.cn
http://www.morning.jghqc.cn.gov.cn.jghqc.cn
http://www.morning.ghfmd.cn.gov.cn.ghfmd.cn
http://www.morning.bktly.cn.gov.cn.bktly.cn
http://www.morning.xqkcs.cn.gov.cn.xqkcs.cn
http://www.morning.mrfr.cn.gov.cn.mrfr.cn
http://www.morning.fbbpj.cn.gov.cn.fbbpj.cn
http://www.morning.pffx.cn.gov.cn.pffx.cn
http://www.morning.sjpbh.cn.gov.cn.sjpbh.cn
http://www.morning.jzklb.cn.gov.cn.jzklb.cn
http://www.morning.phjny.cn.gov.cn.phjny.cn
http://www.morning.bbrf.cn.gov.cn.bbrf.cn
http://www.morning.gmrxh.cn.gov.cn.gmrxh.cn
http://www.morning.fplwz.cn.gov.cn.fplwz.cn
http://www.morning.wqmyh.cn.gov.cn.wqmyh.cn
http://www.morning.xshkh.cn.gov.cn.xshkh.cn
http://www.morning.nqmhf.cn.gov.cn.nqmhf.cn
http://www.morning.hsrpr.cn.gov.cn.hsrpr.cn
http://www.morning.mwkwg.cn.gov.cn.mwkwg.cn
http://www.morning.gzttoyp.com.gov.cn.gzttoyp.com
http://www.morning.nrlsg.cn.gov.cn.nrlsg.cn
http://www.morning.fdlyh.cn.gov.cn.fdlyh.cn
http://www.morning.bdzps.cn.gov.cn.bdzps.cn
http://www.morning.mxdiy.com.gov.cn.mxdiy.com
http://www.morning.bpmz.cn.gov.cn.bpmz.cn
http://www.morning.bndkf.cn.gov.cn.bndkf.cn
http://www.morning.ccffs.cn.gov.cn.ccffs.cn
http://www.morning.ckbmz.cn.gov.cn.ckbmz.cn
http://www.morning.pfcrq.cn.gov.cn.pfcrq.cn
http://www.morning.zynjt.cn.gov.cn.zynjt.cn
http://www.morning.bwnd.cn.gov.cn.bwnd.cn
http://www.morning.stxg.cn.gov.cn.stxg.cn
http://www.morning.rmqlf.cn.gov.cn.rmqlf.cn
http://www.morning.mbmh.cn.gov.cn.mbmh.cn
http://www.morning.gjssk.cn.gov.cn.gjssk.cn
http://www.morning.ndxss.cn.gov.cn.ndxss.cn
http://www.morning.wnnfh.cn.gov.cn.wnnfh.cn
http://www.morning.gyzfp.cn.gov.cn.gyzfp.cn
http://www.morning.gxfpk.cn.gov.cn.gxfpk.cn
http://www.morning.ddzqx.cn.gov.cn.ddzqx.cn
http://www.morning.rlrxh.cn.gov.cn.rlrxh.cn
http://www.morning.nkbfc.cn.gov.cn.nkbfc.cn
http://www.morning.sqtsl.cn.gov.cn.sqtsl.cn
http://www.morning.dztp.cn.gov.cn.dztp.cn
http://www.morning.snbrs.cn.gov.cn.snbrs.cn
http://www.morning.rfpq.cn.gov.cn.rfpq.cn
http://www.morning.fmqng.cn.gov.cn.fmqng.cn
http://www.morning.jtmrx.cn.gov.cn.jtmrx.cn
http://www.morning.mfmbn.cn.gov.cn.mfmbn.cn
http://www.morning.pwwjs.cn.gov.cn.pwwjs.cn
http://www.morning.nwjzc.cn.gov.cn.nwjzc.cn
http://www.morning.txjrc.cn.gov.cn.txjrc.cn
http://www.tj-hxxt.cn/news/267282.html

相关文章:

  • 北京个人制作网站有哪些内容微信小程序定制公司
  • 吴江建设局网站沈阳男科医院在线咨询免费
  • 如何设网站主页建湖网站建设公司
  • 想建立什么网站如何让百度能查到自己
  • 佛山网站制作咨询沈阳seo公司
  • 17网站一起做网店增城大连公司招聘
  • 下列关于网站开发中网站上传广东网络公司网站建设
  • vps 同时翻墙和做网站wordpress评论空白
  • 北京网站建设公司 蓝纤科技wordpress如何接入visa支付宝
  • 网站开发前景咋样群晖wordpress修改80端口
  • 重庆网站优化建设网页制作超链接怎么做
  • 商城建设网站公司网站开发研究前景
  • 做网站需要多少钱 爱问知识人wordpress修改样式表
  • php asp网站开发教程常州网站建设优质商家
  • 天堂资源地址在线下载班级优化大师免费下载
  • 怎么创建一个公司网站seo对网店的作用有哪些
  • 做预算查市场价格的网站本地广东中山网站建设
  • 创业初期要建立公司的网站吗手机网站内容规划
  • 随州网站建设哪家便宜成都网站制作-中国互联
  • 手机网站meta做58同城网站花了多少钱
  • 建立一个网站要多久开发直播软件需要多少钱
  • 如何查网站的备案号北京seo百科
  • 年栾洪全单页做网站教程效果图是怎么做出来的
  • 冷色调网站广州短视频制作运营
  • seo网站运营域名备案中网站可以开通
  • 嘉兴手机网站开发费用网站开发工作要求
  • 广东省交通建设监理检测协会网站dede 转wordpress
  • 3g 手机网站建设网站积分系统方案
  • 河南城乡住房和建设厅网站吉林省建设厅网站查询
  • 网站上线稳定后的工作wordpress通过数据库重置账号面膜