Day 14:來挖挖恐龍骨 —— with 語法
Last updated
Was this helpful?
Was this helpful?
var x = Math.cos(3 * Math.PI) + Math.sin(Math.LN10);
var y = Math.tan(14 * Math.E);
console.log(x); // -0.2560196630425069
console.log(y); // 0.37279230719931067var x, y;
with (Math){
x = cos(3 * PI) + sin(LN10);
y = tan(14 * E);
};
console.log(x); // -0.2560196630425069
console.log(y); // 0.37279230719931067function showHeroStatus(hero){
console.log("Name: " + hero.name);
console.log("Level: " + hero.level);
console.log("Exp: " + hero.currentExp);
console.log("You need more " + (hero.nextLevelNeededExp - hero.currentExp) + " Exp points for Level " + (hero.level + 1) + ".");
}
var player = {
name: "OneJar",
level: 1,
currentExp: 50,
nextLevelNeededExp: 200
};
showHeroStatus(player);Name: OneJar
Level: 1
Exp: 50
You need more 150 Exp points for Level 2.function showHeroStatus(hero){
with(hero){
console.log("Name: " + name);
console.log("Level: " + level);
console.log("Exp: " + currentExp);
console.log("You need more " + (nextLevelNeededExp - currentExp) + " Exp points for Level " + (level + 1) + ".");
}
}function showHeroStatus(hero){
var level = 99; // Function Scope
var money = 1300; // Function Scope
with(hero){
console.log("Name: " + name);
console.log("Level: " + level); // `with` 預設物件優先
console.log("Exp: " + currentExp);
console.log("You need more " + (nextLevelNeededExp - currentExp) + " Exp points for Level " + (level + 1) + ".");
console.log("Money: " + money);
}
}Name: OneJar
Level: 1
Exp: 50
You need more 150 Exp points for Level 2.
Money: 1300function showHeroStatus(hero){
with(hero){
var level = 99; // The Same Block
console.log("Name: " + name);
console.log("Level: " + level);
console.log("Exp: " + currentExp);
console.log("You need more " + (nextLevelNeededExp - currentExp) + " Exp points for Level " + (level + 1) + ".");
}
}Name: OneJar
Level: 99
Exp: 50
You need more 150 Exp points for Level 100.function showHeroStatus(hero){
var level = 99; // Function Scope
with(hero){
level = 70;
console.log("Name: " + name);
console.log("Level: " + level);
console.log("Exp: " + currentExp);
console.log("You need more " + (nextLevelNeededExp - currentExp) + " Exp points for Level " + (level + 1) + ".");
}
}Name: OneJar
Level: 70
Exp: 50
You need more 150 Exp points for Level 71."use strict";
var m = Math;
var x = m.cos(3 * m.PI) + m.sin(m.LN10);
var y = m.tan(14 * m.E);
console.log(x); // -0.2560196630425069
console.log(y); // 0.37279230719931067