Javascript基础教程.pptVIP

  • 0
  • 0
  • 约6.46千字
  • 约 38页
  • 2017-05-30 发布于北京
  • 举报
变量作用域 在函数内部定义的变量,在整个函数范围可见,在函数外不可见 在代码块中定义的变量,在代码块外部可见(上升到函数级别) 函数在被声明时就创建了他们的变量作用域(运行环境),而非运行时 函数 变量作用域 函数 var r5 = global“; function func1() { alert(r5); // undefinded var r5 = local; alert(r5); // “local” } func1(); 变量作用域 函数 变量作用域 函数 var a = 1; var func = null; var func2 = function() { var b = 4; func = function() { alert(a + b); } } func2(); func(); // 结果是? 函数 变量作用域 非基本数据类型的JS实例都是对象 Array, Function, JSON, ActiveX, DOM, XMLHTTPRequest,… 常见对象写法: var obj = { name : “myObj”, getName : function() { return ; } }; 对象 对象的属性以键值对方式表示 数组使用索引方式存储元素 对象的属性可以赋值为任何JS实例 基本数据类型、对象、数组、函数 允许动态创建对象的属性 object.newProp =“value”; 思考: 如何动态删除对象的属性? 传值方式为引用传递 this, p, this.func() 对象 构造函数(Constructor) 对象 function Cat(/*String*/ name) { = name; this.talk = function() { return Im ++. Mrrr, miaow!; } } var cat = new Cat(Barsik); typeof cat object Barsik cat.talk() I’m Barsik. Mrrr, miaow! 构造函数 对象 function Cat(/*String*/ name) { = name; this.talk = function() { return Im ++. Mrrr, miaow!; } } var cat2 = Cat(Barsik); typeof cat2 undefined TypeError: cat2 has no properties Barsik 构造函数 对象被创建时,构造函数被隐含的赋值给对象的constructor属性 对象 var cat = new Cat(Barsik); var constr = cat.constructor; function Cat(name){…} var cat3 = cat.constructor(Murzik); cat3.talk() I’m Murzik. Mrrr, miaow! 构造函数 instanceof: 判断是否由某个构造函数创建 对象 var cat = new Cat(Barsik); var o = {}; cat instanceof Cat true cat instanceof Object true o instanceof Object true o instanceof Cat false call, apply 允许对象暂时借用某个方法 可以用于实现对象的继承 var func = function(xOffset, yOffset) { this.x += xOffset; this.y += yOffset; }; var obj = {x : 1, y : 2}; func.call(obj, 3, 4); // obj = {x : 4, y : 6} func.apply(obj, [-3, -4]); // obj = {x : 1, y : 2} 对象 try { iDontExist(); } catch(e) { //process error here alert(e); ReferenceError: iDontExist is not defin

文档评论(0)

1亿VIP精品文档

相关文档