每日記載內(nèi)容總結(jié)25-創(chuàng)新互聯(lián)

1.部分js知識:(來源:http://kb.cnblogs.com/page/187757/)每日記載內(nèi)容總結(jié)25

(1)replace方法的標(biāo)志位:字符串的 replace 方法并不會(huì) 替換所有匹配的子串——而僅僅替換第一次匹配。

創(chuàng)新互聯(lián)公司主營紅旗網(wǎng)站建設(shè)的網(wǎng)絡(luò)公司,主營網(wǎng)站建設(shè)方案,app軟件開發(fā)公司,紅旗h5成都微信小程序搭建,紅旗網(wǎng)站營銷推廣歡迎紅旗等地區(qū)企業(yè)咨詢
var str = "David is an Arsenal fan, which means David is great";  
str.replace("David", "Darren"); // "Darren is an Arsenal fan, which means David is great"

這里可以使用正則表達(dá)式,并且需要加上一個(gè)全局標(biāo)志位(/g)來實(shí)現(xiàn):

 var str = "David is an Arsenal fan, which means David is great";  
 str.replace(/David/g, "Darren"); // "Darren is an Arsenal fan, which means Darren is great"

另一個(gè)基本的邏輯錯(cuò)誤就是在大小寫不敏感的校驗(yàn)場合(字母可大寫可小寫)沒有忽略大小寫,此時(shí) /i 標(biāo)志位就很實(shí)用:

 var str = "David is an Arsenal fan, which means David is great";  
str.replace(/david/gi, "Darren"); // "Darren is an Arsenal fan, which means Darren is great"

(2)數(shù)組的sort方法功能強(qiáng)大:

簡單應(yīng)用:

 [1, 3, 9, 2].sort();
// 返回 [1, 2, 3, 9]

更強(qiáng)大的方法:

 [  
        { name:"Robin Van PurseStrings", age: 30 },  
        { name:"Theo Walcott", age: 24 },  
        { name:"Bacary Sagna", age: 28  }  
    ].sort(function(obj1, obj2) { 
// 實(shí)現(xiàn)增序排列:前者的 age 小于后者   return obj1.age - obj2.age;  
    });  
// Returns:   // [   //    { name: "Theo Walcott", age: 24 },   //    { name: "Bacary Sagna", age: 28  },   //    { name: "Robin Van PurseStrings", age: 30 }  // ]

不僅可以對簡單類型的數(shù)組項(xiàng)進(jìn)行排序,可以通過屬性來排序?qū)ο蟆son數(shù)據(jù)的排序,可用試下

(3)JavaScript的傳對象知識傳引用,對數(shù)組操作時(shí),要區(qū)分創(chuàng)建新對象還是清空數(shù)組

var myArray = yourArray = [1, 2, 3];  
 myArray= []; // `yourArray` 仍然是 [1, 2, 3]
// 正確的方法是保持引用myArray.length = 0;// `yourArray` 和 `myArray`(以及其它所有對這個(gè)數(shù)組的引用)都變成 [ ] 了

(4)使用push來整合數(shù)組:簡單的原生方法就可以實(shí)現(xiàn)數(shù)組合并這樣的常見任務(wù)

 var mergeTo = [4,5,6];  
var mergeFrom = [7,8,9];        
 Array.prototype.push.apply(mergeTo, mergeFrom);        
 mergeTo;// is: [4, 5, 6, 7, 8, 9]

(5)preventDefault() 方法阻止元素發(fā)生默認(rèn)的行為(例如,當(dāng)點(diǎn)擊提交按鈕時(shí)阻止對表單的提交)。

event.preventDefault()  event 必需。規(guī)定阻止哪個(gè)事件的默認(rèn)動(dòng)作。這個(gè) event 參數(shù)來自事件綁定函數(shù).

event.preventDefault()
該方法將通知 Web 瀏覽器不要執(zhí)行與事件關(guān)聯(lián)的默認(rèn)動(dòng)作(如果存在這樣的動(dòng)作)。例如,如果 type 屬性是 "submit",在事件傳播的任意 階段可以調(diào)用任意的事件句柄,通過調(diào)用該方法,可以阻止提交表單。注意,如果 Event 對象的 cancelable 屬性是 fasle,那么就沒 有默認(rèn)動(dòng)作,或者不能阻止默認(rèn)動(dòng)作。無論哪種情況,調(diào)用該方法都沒有作用。

event.stopPropagation()
該方法將停止事件的傳播,阻止它被分派到其他 Document 節(jié)點(diǎn)。在事件傳播的任何階段都可以調(diào)用它。注意,雖然該方法不能阻止同一個(gè) Document 節(jié)點(diǎn)上的其他事件句柄被調(diào)用,但是它可以阻止把事件分派到其他節(jié)點(diǎn)。

event是DOM的事件方法,所以不是單獨(dú)使用,比如指定DOM

2.各種小問題,各種細(xì)節(jié):

(1)java設(shè)置時(shí)間的時(shí)區(qū)為格林尼治時(shí)間(輸出結(jié)果與pc的時(shí)間相差8小時(shí))

Date date = new Date(System.currentTimeMillis());
SimpleDateFormat   matter1=new   SimpleDateFormat( "   'time ':yyyy-MM-dd  HH:mm:ss   z"); 
matter1.setTimeZone(TimeZone.getTimeZone("GMT"));
System.out.println("currentDate : "+matter1.format(date));

(2)Arrays.copyOf 可用復(fù)制數(shù)組(兩個(gè)參數(shù):第一個(gè)是要復(fù)制的數(shù)組,第二個(gè)是新數(shù)組的長度)

String value = "aaa ccc bbb ddd";
String[] valueCut= value.split(" ");
String[] valueAll= new String[valueCut.length+1];
valueAll= Arrays.copyOf(valueCut,valueCut.length+1);
System.out.println(valueAll.length);
valueAll[valueCut.length]= value ;
for (int i = 0; i < valueAll.length; i++) {
    System.out.println(valueAll[i]);
}
//輸出:5
aaa
ccc
bbb
ddd
aaa ccc bbb ddd

(3)實(shí)現(xiàn)原比例放縮(適合圖片放大縮小處理)

package test;

import java.math.BigDecimal;
import java.math.MathContext;
import java.math.RoundingMode;

public class Testbli {
public static BigDecimal  resultWidth  ;
public static BigDecimal  resultHeight ;
public static void getbili(BigDecimal  width ,BigDecimal  height , BigDecimal  targetWidth ,BigDecimal  targetHeight){
        MathContext mc= new MathContext(5, RoundingMode.HALF_UP);//四舍五入        BigDecimal scale1 = width.divide(height,mc);
        BigDecimal scale2= targetWidth.divide(targetHeight,mc) ;
if (scale1.compareTo(scale2) == 1) {
                resultWidth= targetWidth ;
                resultHeight= targetWidth.multiply(height).divide(width,mc);
            }else {
                resultHeight= targetHeight ;
                resultWidth= targetHeight.multiply(width).divide(height,mc) ;
            }
            BigDecimal result1= resultWidth.divide(resultHeight,mc);
            System.out.println(resultWidth+"---"+ resultHeight);
            System.out.println(result1+"---"+scale1);
    }
public static void main(String[] args) {
        getbili(new BigDecimal(633), new BigDecimal(983), new BigDecimal(200), new BigDecimal(400));
    }
}
//輸出:200---310.58
0.64396---0.64395//原比例

(4)得到字符串每個(gè)字符的ascll碼

String string = "aa-b";
for (int i = 0; i < string.length(); i++) {
int str=string.charAt(i);
    System.out.println(str);
}

(5)除法保留任意位小數(shù),且可以取double值和float值

package test;

import java.math.BigDecimal;
import java.text.NumberFormat;

public class Testxiaoshu {
public static void main(String[] args) {
// 除數(shù)          BigDecimal bd = new BigDecimal(1);
// 被除數(shù)          BigDecimal bd2 = new BigDecimal(3);
// 進(jìn)行除法運(yùn)算,保留200位小數(shù),末位使用四舍五入方式,返回結(jié)果          BigDecimal result = bd.divide(bd2, 200, BigDecimal.ROUND_HALF_UP);

          System.out.println("完整200位小數(shù)結(jié)果: " + result);
          System.out.println("float           : " + result.floatValue());
          System.out.println("double          : " + result.doubleValue());

// 指定想要的小數(shù)位長度取值          NumberFormat nf = NumberFormat.getNumberInstance();
          nf.setMaximumFractionDigits(20);// 大小數(shù)位          nf.setMinimumFractionDigits(5); // 最小小數(shù)位          String str = nf.format(result);
          System.out.println("指定位數(shù)取值: " + str);

         }
}
//輸出:完整200位小數(shù)結(jié)果: 0.83333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333
float           : 0.8333333
double          : 0.8333333333333334
指定位數(shù)取值:0.8333333333

分享題目:每日記載內(nèi)容總結(jié)25-創(chuàng)新互聯(lián)
標(biāo)題來源:http://muchs.cn/article40/phpho.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站制作、網(wǎng)站建設(shè)品牌網(wǎng)站建設(shè)、做網(wǎng)站網(wǎng)站設(shè)計(jì)微信小程序

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

手機(jī)網(wǎng)站建設(shè)