Oimg.onmouseover=function(){Oimg.style.borderColor="red";}
創(chuàng)新互聯(lián)-專業(yè)網(wǎng)站定制、快速模板網(wǎng)站建設、高性價比清鎮(zhèn)網(wǎng)站開發(fā)、企業(yè)建站全套包干低至880元,成熟完善的模板庫,直接使用。一站式清鎮(zhèn)網(wǎng)站制作公司更省心,省錢,快速模板網(wǎng)站建設找我們,業(yè)務覆蓋清鎮(zhèn)地區(qū)。費用合理售后完善,10余年實體公司更值得信賴。
或許你還需要鼠標移出的效果:
Oimg.onmouseout=function(){Oimg.style.borderColor="#708090";}
html
head
titledemo/title
style type="text/css"
!--other code--
#d{border:1px solid gray;width:300px;height:100px;font-size:2em;}
.Red{background:red;}
.Green{background:green;}
.Blue{background:blue;}
!--other code--
/style
style type="text/javascript"
function cRed(){
var wDiv=(這里補充) ;
wDiv.className="Red";
}
/style
/head
body
h3點擊層下面的按鈕,可以設置相應的背景色/h3
div id="d"DIV Elements/divbr/
input type="button" value="red" onclick="javascript:document.getElementById('d').className='Red'"/
input type="button" value="green" onclick="javascript:document.getElementById('d').className='Green'"/
input type="button" value="blue" onclick="javascript:document.getElementById('d').className='Blue'"/
!--other code--
/body
/html
首先申明,請樓主用Chrome瀏覽器運行代碼,這樣會有更直觀理解(IE9以下可能會報錯),可以用console.log輸出調(diào)試信息。
問題一:
for..in..是用來枚舉對象屬性/方法,但有限制的,并不是對象的所有屬性方法都可以枚舉。最簡單的解釋是,對象的屬性/方法有一個是否可枚舉(enumerable)特性:按照ECMAScript 5說法,對象屬性/方法有四個特性:值(value)、可寫性(writable)、可枚舉性(enumerable)和可配置性(configuarable),若屬性/方法的enumerable特性為true,則該屬性/方法可以被for..in..枚舉出來;若為false,則無法被for..in枚舉出來。每個對象提供一個叫做propertyIsEnumerable方法檢測某個屬性/方法的enumerable的值。樓主可以運行一下代碼:
console.log(Math.propertyIsEnumerable('sin'));//運行結果為false
console.log(Math.propertyIsEnumerable('cos'));//運行結果為false
其實,Math對象是ECMAScript的內(nèi)置對象,它定義了很多有關數(shù)學運算的屬性/方法,設計的初衷應該是不希望使用者枚舉它的屬性,或者說這對使用者并沒有實際意義,所以將它的所有屬性/方法的enumerable特性設置為false。
至此樓主會有一個疑問,我們是否可以指定自定義對象的屬性四個特性的值,回答是肯定的,在ECMAScript 5以前,對象的屬性/方法的值(value)都是可設定,而其他三個屬性我們是無法設定。但在ECMAScript 5,提供了這個的方法讓我們都可以對四個特性進行設定。比如
var?o?=?{};
//添加一個不可枚舉的屬性x,并賦值1
Object.defineProperty(o,?"x",?{
value:?1,//值為1
writable:?true,
enumerable:?false,//不可枚舉
configurable:?true
});
for(var?i?in?o){
console.log(i);//是無法枚舉出x的
}
問題二:
樓主理解有些出入?;緮?shù)據(jù)類型:數(shù)字、字符串、布爾值,而null和undefined是兩個特殊的原始值,除了這些外就都是對象了。由此看來,function也是對象,但它是一個特殊的對象。由于function在javascript的特殊作用,以至于被稱為一等公民。typeof運算符得到值只有這些:number、string、boolean、undefined、object、function。至于樓主說ECMAScript為何沒有提到這些,因為function也被籠統(tǒng)地歸納為對象,只是在使用typeof運算符跟普通的對象有了區(qū)別,返回的function而不是object
Function是function對象的構造函數(shù),所以運行typeof Function == 'function'啦。
問題三:
這個涉及到非常多知識點,我只能初略地說一下了。首先我們得清楚一點,NaN是構造函數(shù)Number的一個屬性。好的,樓主應該會有疑問,構造函數(shù)的屬性是什么東西?前面已經(jīng)說過,函數(shù)也是對象,既然是對象自然就可向它添加屬性方法啦。比如:
function?test(){}
test.name?=?'test';//添加屬性
test.printMyName?=?function(){
console.log('my?name?is?test');
};
//訪問name屬性
console.log(test.name);
//調(diào)用printMyName方法
test.printMyName();
呵呵,是不是跟一個普通對象沒有區(qū)別。那好,有了這個概念就好說了。既然NaN是構造函數(shù)Number的屬性,那么它就自然不可能被Number的實例所繼承,當然就不能訪問了。
最后推薦兩部書:《JavaScript權威指南》(第六版)、《JavaScript高級程序設計》(第三版)
希望對你有用。
1.
for(var i=1000;i=9999;i++){
if(i%13==0){
var n2 = Math.floor(i/10)%10;
var n3 = Math.floor(i/100)%10;
var n4 = Math.floor(i/1000);
if(n2+n3==n4)
console.log("滿足條件的數(shù)為:"+i);
}
}
2.
var sum = 0, start = 1, end=0, n=1;
while(start 500) {
for(n = start; sum 1000; n++) {
sum += n;
if(sum == 1000) {
end=n;
console.log("連續(xù)相加為1000的連續(xù)正整數(shù)為:"+start+"到"+end);
}
}
start++;
sum = 0;
}
正解:
javascript是一個弱類型的語言,是一種腳本語言,所以對類型支持比較簡單
只有三種類型 數(shù)值型(int,double等)、字符串(String)、和對象(Object)
str1和str2 是通過new取得的兩個對象,所以比較的時候是按照Object來比較的,所以引用不同的兩個對象用==比較一定是false
str2和str3,str3=“56”,這時候str3被認為是String類型來處理,==比較的時候如果遇到一方為String類型會嘗試將另外一個也轉(zhuǎn)換成String類型來處理,之后比較其內(nèi)容。
所以,str2==str3結果是true
同樣:56 和"56"比較的時候也是把56(數(shù)值型)轉(zhuǎn)為String然后與String類型的"56"做比較,結果為true
var?num;
var?max?=?0;
for?(var?i?=?0;?i??3;?i++)?{
num?=?Math.ceil(Math.random()?*?100)?+?1;
document.write(num?+?'br?/');
if?(num??max)?{
max?=?num;
}
}
document.write('最大的是:'?+?max);
文章題目:javascript解答,javascript的理解
文章路徑:http://m.rwnh.cn/article36/phjcpg.html
成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供ChatGPT、移動網(wǎng)站建設、網(wǎng)站建設、營銷型網(wǎng)站建設、面包屑導航、關鍵詞優(yōu)化
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)