一、類和結構的區別,分別有什么應用。(參考:https://blog.csdn.net/yikeshu19900128/article/details/40400479)
1)類是引用類型,數據存放在堆上,指向的地址存在棧上。結構是值類型,數據存在棧上。
2)類可以繼承,能繼承另一個類或接口,也可以被繼承。結構不能繼承,不能繼承另一個結構或類,也不能被繼承,但是可以繼承接口。
3)類可以在聲明時初始化,結構不能在聲明時初始化。
4)在類中,一旦我們編寫了帶參數構造函數,默認構造函數就不存在了。當我們要調用不帶參數的構造函數來初始化對象時,我們必須再自己編寫一個不帶參數的構造函數。但是在結構中,始終存在一個不帶參數的默認構造函數,並且,這個構造函數是不可替代的,不能重寫,也不能覆蓋,在結構中,我們只能編寫帶參數的構造函數,不能編寫不帶參數的構造函數
5)析構函數:類有析構函數,但是結構沒有析構函數
6)關鍵字:在類中可以使用但是在結構中限制使用的關鍵字有:abstract、sealed、protected;Static關鍵字可以用在類名前面用來聲明靜態類,但是不能用在struct前面,不存在靜態結構
7)類用new來實例化對象,分配內存,需要使用new返回地址及分配空間,而結構用new是初始化,結構是值類型,聲明時就已經分配內存了
結構和類的適用場合分析:(參考:https://blog.csdn.net/Iqingshuifurong/article/details/53129536)
1、當堆棧的空間很有限,且有大量的邏輯對象時,創建類要比創建結構好一些;
2、對於點、矩形和顏色這樣的輕量對象,假如要聲明一個含有許多個顏色對象的數組,則CLR需要為每個對象分配內存,在這種情況下,使用結構的成本較低;
3、在表現抽象和多級別的對象層次時,類是最好的選擇,因為結構不支持繼承。
4、大多數情況下,目標類型只是含有一些數據,或者以數據為主。
二、在項目中直接使用sql語句和用存儲過程查詢的區別是什么(參考:https://www.cnblogs.com/binyue/p/6442310.html)
三、網站的優化有哪些方法?(從服務端和客戶端兩個方面說明)(參考:https://www.zhihu.com/question/21658448)
【這個如果知道的希望可以在評論區分享你的答案,謝謝】
<script type="text/javascript"> var a = '12.3'; a = parseInt(a);//a=12 var b = 12.6; var c = a + b;//c=24.6 alert(typeof (c));//number類型 alert(parseInt(c));//24 </script>
<script type="text/javascript"> var a = '12.3'; a = parseFloat(a); var b = 12.6; var c = a + b; alert(c);//24.9 alert(typeof (c));//number類型 alert(c.toFixed(0));//25 在js中四舍五入的函數 tofixed(n) , n為要保留的小數位數。n為0~20,當n超過20的時候,js會出錯。 </script>
