this.obj.innerHTML = (num < 10) ? ('0' + num) : num;
时间: 2024-05-12 11:13:37 浏览: 19
这是一个三目运算符的语句,等价于下面的代码:
```
if (num < 10) {
this.obj.innerHTML = '0' + num;
} else {
this.obj.innerHTML = num;
}
```
三目运算符的语法是 `condition ? exprIfTrue : exprIfFalse`,如果 `condition` 的值为真,则返回 `exprIfTrue` 的值,否则返回 `exprIfFalse` 的值。在这个例子中,如果 `num` 小于 10,则返回 `'0' + num`,否则返回 `num`。这个语句的作用是将 `num` 转换成两位数的格式,不足两位的数字前面补零。
相关问题
obj.onmousedown = function(event) { //点击的不是白盒子 // 兼容IE event = event || window.event; if ((event.target ? event.target : event.srcElement).className == 'i') { if ((event.target ? event.target : event.srcElement).style.backgroundColor = "#1AAB8A") { num1 = num1 + 200; } else if ((event.target ? event.target : event.srcElement).style.backgroundColor = "#E15650") { num2 = num2 + 300; } else if ((event.target ? event.target : event.srcElement).style.backgroundColor = "#121B39") { num3 = num3 + 400; } else if ((event.target ? event.target : event.srcElement).style.backgroundColor = "#80A84E") { num4 = num4 + 500; } //点击后的盒子颜色 (event.target ? event.target : event.srcElement).style.backgroundColor = "#bbb"; //清除盒子标记 (event.target ? event.target : event.srcElement).className = ''; //计分 //显示得分 num=num1+num2+num3+num4; count.innerHTML = '当前得分: ' + num; } 为什么错了
这段代码可能出错的地方有:
1. 在 if 语句中,比较颜色值时应该使用双等号 `==`,而不是赋值符号 `=`。
2. 在比较颜色值时,应该使用 RGB 值而不是颜色名称。例如,应该使用 `rgb(26, 171, 138)` 而不是 `#1AAB8A`。
3. 在计算得分时,应该将四个得分相加,而不是分别累加到 num1、num2、num3 和 num4 中。
下面是修改后的代码:
```
obj.onmousedown = function(event) {
//点击的不是白盒子
// 兼容IE
event = event || window.event;
if ((event.target ? event.target : event.srcElement).className == 'i') {
if ((event.target ? event.target : event.srcElement).style.backgroundColor == "rgb(26, 171, 138)") {
num1 = num1 + 200;
} else if ((event.target ? event.target : event.srcElement).style.backgroundColor == "rgb(225, 86, 80)") {
num2 = num2 + 300;
} else if ((event.target ? event.target : event.srcElement).style.backgroundColor == "rgb(18, 27, 57)") {
num3 = num3 + 400;
} else if ((event.target ? event.target : event.srcElement).style.backgroundColor == "rgb(128, 168, 78)") {
num4 = num4 + 500;
}
//点击后的盒子颜色
(event.target ? event.target : event.srcElement).style.backgroundColor = "#bbb";
//清除盒子标记
(event.target ? event.target : event.srcElement).className = '';
//计分
//显示得分
num = num1 + num2 + num3 + num4;
count.innerHTML = '当前得分: ' + num;
}
}
```
const obj = { a: 0 } obj['1'] = obj.a obj[++obj.a] = obj.a++ const values = Object.values(obj) obj[values[1]] = obj.a console.log(obj);
这段代码的输出结果会是 `{ '1': 1, '2': 2, a: 3 }`。
解释如下:
1. 首先,我们创建了一个对象 `obj`,并且给它添加了一个属性 `a`,值为 `0`。
2. 接着,我们通过 `obj['1'] = obj.a`,将 `obj` 的 `a` 属性的值赋给了 `obj` 的 `1` 属性,即 `obj` 变成了 `{ '1': 0, a: 0 }`。
3. 然后,我们执行了 `obj[++obj.a] = obj.a++`,这一行代码相当于:
```javascript
obj.a = obj.a + 1; // obj.a 现在的值为 1
obj[obj.a] = obj.a; // obj[1] = 1
obj.a = obj.a + 1; // obj.a 现在的值为 2
```
执行完这一行代码后,`obj` 变成了 `{ '1': 1, '2': 2, a: 2 }`。
4. 最后,我们通过 `Object.values(obj)` 获取了 `obj` 中所有的属性值,并将它们存储在了 `values` 数组中。此时,`values` 的值为 `[1, 2, 2]`。
5. 接着,我们执行了 `obj[values[1]] = obj.a`,相当于 `obj[2] = 2`。这一行代码将 `obj` 的 `2` 属性的值改为了 `2`。因此,`obj` 最终的值为 `{ '1': 1, '2': 2, a: 3 }`。
6. 最后,我们通过 `console.log(obj)` 输出了 `obj` 的值。
相关推荐
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
var as = document.querySelectorAll('a'); for (var i = 0; i < as.length; i++) { as[i].onclick = function() { tbody.removeChild(this.parentNode.parentNode) } var subject = document.querySelector('.subject'); var name = document.querySelector('.name'); var score = document.querySelector('.score'); var info = document.querySelector('.info'); var tbody = document.querySelector('tbody'); var arr = []; info.addEventListener('submit', function (e) { e.preventDefault(); var obj = { name: name.value, subject: subject.value, score: score.value, } arr.push(obj); this.reset(); for (var i = 0; i < arr.length; i++) { var tr = document.createElement('tr'); tr.innerHTML = ${arr[i].name} ${arr[i].subject} ${arr[i].score} 删除 <button onclick="moveUp(this)">上移</button> <button onclick="moveDown(this)">下移</button> ; } tbody.appendChild(tr); }) 为什么录入name显示undef
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)