Web 前端开发常见问题

Q:  js与jquery混用问题

A: jquery对象与dom对象在相互使用时要进行转换才可以应用,普通的dom对象一般可以通过$()转换成jquery对象,如:$(document.getElementById("msg"))则为jquery对象,可以使用jquery的方法。由于jquery对象本身是一个集合。所以如果jquery对象要转换为dom对象则必须取出其中的某一项,一般可通过索引取出。如:$("#msg")[0],$("div").eq(1)[0],$("div").get()[1],$("td")[5]这些都是dom对象,可以使用dom中的方法,但不能再使用Jquery的方法。
以下几种写法都是正确的:
$("#msg").html();
$("#msg")[0].innerHTML;
$("#msg").eq(0)[0].innerHTML;
$("#msg").get(0).innerHTML;

 

Q: 为什么javascript变更chrome还是旧的

 A:  因为chrome的缓存起了作用,可以通过强制刷新 ( shift + F5 ) chrome 。

 

Q: javascript是由什么组成

A: javascript不单单是一门语言,它是由三部分组成(1)核心(ECMAScript)(2)DOM (文档对象模型)(3)BOM(浏览器对象模型)。ECMAScript是函数和类、对象的定义语法,DOM是HTML的对象化访问HTML标签、,BOM是浏览器对象的访问如:窗口、Cookie。

 

Q: javascript类和对象创建方法

A:ECMAScript定义的类定义和对象创建方法共有(1)工厂方法(2)构造函数法(3)原型方法 (4)混合构造函数法\原型方法 (5)运态原型法。以下是混合构造函数法\原型方法,这种方法使用得比较广泛,其次是运态原型法。参考:http://www.w3school.com.cn/js/pro_js_object_defining.asp

View Code
function Car(sColor,iDoors,iMpg) {
  this.color = sColor;
  this.doors = iDoors;
  this.mpg = iMpg;
  this.drivers = new Array("Mike","John");
}

Car.prototype.showColor = function() {
  alert(this.color);
};

var oCar1 = new Car("red",4,23);
var oCar2 = new Car("blue",3,25);

oCar1.drivers.push("Bill");

alert(oCar1.drivers); // 输出 "Mike,John,Bill"
alert(oCar2.drivers); // 输出 "Mike,John"

 

 Q: javascript类的继承方法

 A:ECMAScript定义的继承方法共有 (1) 对象冒充 (2) call() 方法 (3) apply() 方法 (4) 原型链(prototype chaining)(5) 混合方式。以下是混合法,这种方法适用于更多情况,因为混合法同样适用于继承机制,用对象冒充继承构造函数的属性,用原型链继承 prototype 对象的方法。参考:http://www.w3school.com.cn/js/pro_js_inheritance_implementing.asp

View Code
function ClassA(sColor) {
    this.color = sColor;
}

ClassA.prototype.sayColor = function () {
    alert(this.color);
};

function ClassB(sColor, sName) {
    ClassA.call(this, sColor);
    this.name = sName;
}

ClassB.prototype = new ClassA();

ClassB.prototype.sayName = function () {
    alert(this.name);
};

var objA = new ClassA("blue");
var objB = new ClassB("red", "John");
objA.sayColor(); // 输出 "blue"
objB.sayColor(); // 输出 "red"
objB.sayName(); // 输出 "John"

 

 

 

 

Author:samuelchoi

Email: samuelchoi#163.com 

Blog:   www.cnblogs.com/samuelchoi 

 

posted on 2012-07-24 11:16  samuelchoi  阅读(330)  评论(0编辑  收藏  举报