【JS】javascript 小技巧

来源:互联网 发布:算法基础与在线实践 编辑:程序博客网 时间:2024/06/04 19:03

1. javascript 中实现一个类列表中选择

var content = {"@":"player", "#":"wall", "0":"boulder", "*":"exit", " ":"empty"}[character];
上面的代码会根据 character 的输入从 {*} 中选择对应的全称(绿色单词)返回给 content 变量。

2. 三目表达式

return this.bouldersToGo + " boulder" + (this.bouldersToGo == 1 ? "":"s" ) + " to go."

根据 this.bouldersToGo 是否等于一返回 * boulder to go. 或 * boulders to go.


3. 自动类型转换


“===” 用于判断是否精确相等,包括类型;“==” 用于判断是否自动类型转换后相等。只有 0, NaN 和空字符串转化成 false,其他所有的值都会转化成 true 。


4. “&&” 和 “||”

a. 优先级:“||” 最低,其次是 “&&”,然后是比较运算符(>、== 等),最后是其他的运算符。

b. “||” 的真正工作过程:首先检查左边的值,如果能将该值转化成布尔类型,并且值为 true,就返回左边的值;否则返回右边的值。

“&&” 与 “||” 相似,其工作过程:当左边的值转换的布尔值是 false 时,返回该值;否则返回右边的值。

小应用:

var input = prompt("what is your name?", "Kilgore Trout");

print("well hello" + (input || "dear"));

上面的代码,如果用户没有输入名字,而是单击了取消或是关闭了对话框,变量 input 将会得到 null 或者 “”。这两个值转化布尔值的过程中都会返回 false,表达式 input || “dear” 可表示变量 input 的值或者字符串 “dear”。

0 0