js中 o = o || {};是什么意思呢?

我请问下,js中 o = o || {};是什么意思呢?
最新回答
北蒙岛的雨季

2024-05-09 13:58:56

o = o || {} 表示:如果o为null或undefined,则将o初始化空对象(即{}),否则o不变。目的是防止o为null或未定义的错误。

其中:||表示或操作,第一个条件为真,则结果为真而不需要执行第二个条件;否则执行第二个条件,等价于以下代码:

if(o)
    o = o;
else
    o = {};
七月别困

2024-05-09 15:39:37

js里面$的意思是:
$符号在php中是表示变量的特征字符, 在js中它也有很多作用, 一般我们用来命名一个函数名称,获取id的
1、首先可以用来表示变量, 比如变量 var s='asdsd'或var $s='asdasd';
2、在正则表达式中,它可以匹配结尾 /sa$/.test(string) 匹配string字符串中的sa,比如string='125sa'则匹配,string='125sa21'则不匹配 正则表达式很复杂,这里只是简单的说说。
3、由于受prototype.js(老外写的框架,用于将一些常用的函数封装,方便操作)的影响, 现在很多人都用 $来表示一个查找对象的函数, $=function (id) { return (typeof (id)=='object')?id:document.getElementById(id); }; 其实就是一个自定义函数,用$只是简单,其实用其它字符也是一样的,

温茶

2024-05-09 10:51:35

o=o||{}; 如果o为真就取o,不然就赋值空对象;
but!! js是一门动态语言,而且他的隐式类型转换很多时候让人觉得不符合常理,比如:
你的这个o在这个时候 他得值运行到这里时候,如果是0(别说不符合常理,动态语言一时爽,如果代码写的和shit一样,这种只是小儿科) , 那么你会得到如下结果:
o=o||{}
//o为:{}
这里 你已经永远失去了你的0
劝你不要用这种方式去规避null值或undefined值
清羽慕

2024-05-09 19:45:02

如果o为null或undefined,则吧{}赋给o,如果o不为null,则o=o
追问
{}是一个对象是吗?
追答
一个空的对象
春夜浅

2024-05-09 12:05:45

它有个专业名词:三元表达式

它的写法等价于:

let a = 3;

let b=5;

if(a > b){

alert('a大于b')

}else{

alert('a小于b')

}