首页 > 编程语言 >javascript-表达式与操作符

javascript-表达式与操作符

时间:2024-11-18 15:18:51浏览次数:1  
标签:返回 index undefined javascript 运算符 let 操作符 表达式 log

1.数组初始化
二维数组
let matrix=[[1,2,3],[4,5,6],[7,8,9]];
未定义元素undefined
let sparseArray=[1,,,,5];
包含三个未定义元素

2.对象初始化
let p={x:2.3,y:-1.2};点对象包含x,y坐标
let q={};空对象
q.x=2.3;q.y=-1.2;赋值

3.函数
let square=function(x){return x*x;};

4.属性访问符。包括.和[]
let o={x:1,y:{z:3}};
let a=[o,4,[5,6]];
o.x;//1
o.y.z//3
o["x"]//1
a[1]//4
a[2]["1"]//6
a[0].x//1
如未找到,会返回undefined
5.条件属性运算符?.
a?.b
如果a是Null或undefined,表达式返回Undefined。当a不为null,undefined会返回a.b的值。

let a{b:{}};
a.b?.c?.d//undefiend,.c会返回Undefined
?可以用于?.[],它有短路效应。
let a;
let index=0;
try{
a[index++];
}catch(e){
index;//值为1
}
a?.[index++];
index;//值依然为1,a?触发了短路
a[index++];//抛出TypeError异常

6.条件运算符用于函数调用。
function square(x,log){
log?.(x);//试图调用Log方法,如果为undefined或null,就不调用。不抛出异常
return x*x;
}

注意条件运算符在这里只判断log是否为Null或undefined,如果log为一个值不为函数,还是会抛出异常。

函数调用条件运算符依然有短路效应。

例:
o.m()//例1
o?.m()//例2
o.m?.()//例3
例1:o必须是一个对象,m是该对象的方法
例2:如果o为Null或undefined,返回Undefined。如果o不为前述两者,它必须包含一个m方法
例3:o必须不是null和undefined,它如果包含一个m方法,调用方法。如果不含M方法,则返回undefined
例2是对o进行判断,例3是对o.m方法进行判断。

7.一些有特点的操作符
(1)typeof 返回类型名的字符串
(2) ~位取反运算符
(3)void 返回undefined
(4)**幂运算符
(5)<<左移运算符
(6)>>右移运算符,包含符号位
(7)>>>右移运算符,以0填充符号位
(8)instanceof测试对象类?
(9)in判断属性是否存在
(10)== !=不严格相等,不等运算符。判断前会进行类型转换
(11)=== !==严格相等,不等运算符。会首先判断左右两边类型
(12)& | ^位与,位或,位异或
(13)&& ||逻辑与逻辑或
(14)?? ?.

例3:

标签:返回,index,undefined,javascript,运算符,let,操作符,表达式,log
From: https://www.cnblogs.com/zhongta/p/18552767

相关文章

  • 前端必知必会-JavaScript For Of循环
    文章目录JavaScriptForOf循环循环遍历数组循环遍历字符串总结JavaScriptForOf循环ForOf循环JavaScriptforof语句循环遍历可迭代对象的值。它允许您循环遍历可迭代数据结构,例如数组、字符串、映射、节点列表等:语法for(variableofiterable){//要......
  • 前端必知必会-JavaScript Break and Continue
    文章目录JavaScriptBreak和ContinueBreak语句Continue语句JavaScript标签总结JavaScriptBreak和Continuebreak语句“跳出”循环。continue语句“跳过”循环中的一次迭代。Break语句break语句用于“跳出”switch()语句。break语句也可用于跳出......
  • cron表达式
    一、Cron表达式0/10****?这种表达式称为cron表达式,通过cron表达式可以灵活的定义出符合要求的程序执行的时间。Cron表达式支持到7个域。cron表达式分为7个域,之间使用空格分隔。其中最后一个域(年)可以为空,每个域都有自己允许的值和一些特殊字符构成。使用这些特殊字......
  • javaScript交互案例
    1、模态框(弹出框)(1)、需求:点击弹出层,会弹出模态框,并且显示灰色半透明的遮挡层点击关闭按钮,可以关闭模态框,并且同时关闭半透明遮挡层鼠标放在模态框最上面一行,可以按住鼠标拖拽模态框在页面中移动鼠标松开,可以停止拖动模态框移动思路:点击弹出层,模态框和遮挡层就会显示出来d......
  • C# 表达式树 ---- 系列教程
    C#表达式树从0学习表达式树。作者:痴者工良地址:https://ex.whuanle.cn作者博客:http://www.whuanle.cn1.表达式树基础2.基础知识3.变量、常量、赋值4.五类运算符的表达5.判断语句6.循环控制7.值类型、引用类型、泛型、集合、调用函数  出处:C#表达式树......
  • JavaScript中的迭代器和生成器
    迭代器和生成器迭代器在JavaScript中迭代器是一个对象,它是一个使用了next()方法实现了迭代器协议的的对象(方法名是约定的,必须是next,不能是其他的)。JavaScript中可以使用迭代器的常见对象有Array、Map、Set、String。我们可以通过Symbol.iterator属性获取当前实例的迭代器......
  • C++ lambda 表达式与「函数对象」(functor)
    C++lambda表达式与「函数对象」(functor)Created:2024-06-27T16:29+08:00Published:2024-11-17T17:01+08:00Categories:C-CPPfunctor(FunctionObject)首先要介绍的是functor——一个重载了operator()的类,该类的实例可以使用operator()。WhatareC++functorsand......
  • 【全栈开发(TypeOrm-Javascript)学习笔记三】
    提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档文章目录前言一、EntityManager二、Repository三、Find选项四、自定义Repository五、EntityManagerAPI六、RepositoryAPI总结前言本章节主要了解typeOrm框架EntityManager和Repository,学习常见的s......
  • 正则表达式
    正则表达式:regularexpression,很多时候都简写为regex.正则表达式可以校验字符串是否满足一定的规则,并用来校验数据格式的合法性.Java中,正则表达式是以字符串的形式体现的.程序示例:publicclassRegexDemo1{publicstaticvoidmain(String[]args){......
  • JavaScript判断用户设备类型:PC端与移动端的区分方法
    在JavaScript中,可以通过检查用户代理字符串(UserAgentString)来判断用户设备类型,即访问网站的是PC端还是移动端设备。用户代理字符串是浏览器在发送HTTP请求时附带的一段信息,它包含了浏览器类型、版本、操作系统以及设备类型等信息。以下是一个简单的示例代码,用于判断用户......