javascript function

function assert(value1, value2) {
  if (value1) {
    console.log(value2);
  }
}

function isNimble() {
  return true;
}
assert(typeof window.isNimble === "function", "is isNimbl() defined");
assert(isNimble.name === "isNimble", "isNimble() has a name");

var canFly = function() {
  return true;
};
assert(typeof window.canFly === "function", "canFly() defined");
assert(canFly.name === "", "canFly() has no name");

window.isDeadly = function() {
  return true;
};
assert(typeof window.isDeadly === "function", "isDeadly() defined");
assert(isDeadly.name === "isDeadly", "isDeadly() has a name");

function outer() {
  assert(typeof inner === "function", "inner() in scope before declaration");
  function inner () {}
  assert(typeof inner === "function", "inner() in scope after declaration");
  assert(window.inner === undefined, "inner() not in global scope");
}

outer();
assert(window.inner === undefined, "inner() stilll not in global scope");


window.wieldsSword = function swingsSword() { return true; };
assert(window.wieldsSword.name === 'swingsSword', "wieldSword's real name is swingsSword");
"is isNimbl() defined"
"isNimble() has a name"
"canFly() defined"
"canFly() has no name"
"isDeadly() defined"
"inner() in scope before declaration"
"inner() in scope after declaration"
"inner() not in global scope"
"inner() stilll not in global scope"
"wieldSword's real name is swingsSword"

 

posted @ 2014-11-25 11:21  gyy_Jade  阅读(349)  评论(0编辑  收藏  举报