Angular工具方法學習
angular為我們提供了很多的工具方法。
angular.bind 更改this指向
var obj1 = { name : 'obj1', show : function(str){ return this.name + str; } }; var obj2 = { name : 'obj2' }; var a = angular.bind(obj2,obj1.show,' is a object'); var b = angular.bind(obj2,obj1.show,[' is a object']); console.log(a());
angular.bind會根據(jù)你的參數(shù)類型來決定調(diào)用call或apply,注意a和b後面?zhèn)鬟f的參數(shù),a是傳遞一個字符串,b是傳遞一個數(shù)組。
angular.copy 拷貝
var a = { name : 'hello' }; var c = angular.copy(a); console.log(c);
angular.extend 繼承
var a = { name : 'hello' }; var b = { age : 20 }; var c = angular.extend(a,b); console.log(c);
angular.extend 比較
console.log(angular.equals(1,1)); //true console.log(angular.equals({name:'xxx'},{name:'xxx'})); //true console.log(angular.equals({name:'xxx'},{name:'yyy'})); //false console.log(angular.equals(NaN,NaN)); //true console.log(NaN == NaN); //false console.log(NaN === NaN); //false
注意最後NaN和NaN的比較,在原生JS中都是為false的,但是在angular中尉true。
angular.forEach 遍歷
var array = ['a','b','c']; angular.forEach(array,function(value,i){ console.log(value,i); console.log(this); });
遍歷數(shù)組,對象也可以。value表示值,i表示索引,而this表示window對象。(在angular.forEach中我們傳遞了兩個參數(shù),1是遍歷的數(shù)組,2是匿名函數(shù))
var array = ['a','b','c']; var result = []; angular.forEach(array,function(value,i){ //遍歷查找數(shù)組時,我們可能是為了獲取某些值 if(value === 'a'){ //如果數(shù)組中有'a'的話,就存入到result中,這里的this就代表result this.push(value); }; },result); console.log(result);
這個時候我們?nèi)齻€參數(shù),1是遍歷的數(shù)組,2是匿名函數(shù),3是結(jié)果集(當傳遞了第三個參數(shù)的時候angular.forEach里面的this就會是一個空數(shù)組,否側(cè)為window對象)。
angular也為我們提供了原生的JSON.parse()以及JSON.stringify()方法。
var str = '{"name" : "xiecg","age" : "18"}'; var json = angular.fromJson(str); console.log(json);
將一個字符串的json解析成對象。
var str = {"name" : "xiecg","age" : "18"}; var json = angular.toJson(str,true); console.log(json);
將一個json解析成字符串(後面?zhèn)魅胍粋€true可換行,便于閱讀)
輔助方法
console.log( angular.identity(1,2,3) ); //返回第一個參數(shù) var flag = false; flag ? console.log('xxx') : angular.noop(); //空函數(shù),防止出錯
大小寫轉(zhuǎn)換
console.log(angular.uppercase('hello')); //轉(zhuǎn)成大寫 console.log(angular.lowercase('HELLO')); //轉(zhuǎn)成小寫
判斷類型
var a = []; console.log(angular.isArray(a)); //true angular.isArray //判斷一個元素是否是數(shù)組 angular.isDate //判斷一個元素是否是時間對象 angular.isDefined //判斷一個元素是否存在 angular.isUndefined //判斷一個元素是否是undefined angular.isFunction //判斷一個元素是否是個函數(shù) angular.isNumber //判斷一個元素是否是數(shù)字 angular.isObject //判斷一個元素是否是對象 angular.isString //判斷一個元素是否是字符串 angular.isElement //判斷一個元素是否是html節(jié)點元素(JQ獲取的元素也是可以判斷到的)
文件信息
console.log( angular.version )
angular也提供了部分JQ中的方法
<!DOCTYPE HTML> <html ng-app> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>DEMO</title> <script type="text/javascript" src="https://code.angularjs.org/1.3.8/angular.min.js"></script> </head> <body> <div id="box">1</div> <script type="text/javascript"> document.onclick = function(){ var oDiv = document.getElementById('box'); angular.element(oDiv).css('background','red'); console.log(angular.element(oDiv)); //查看原型上掛載的方法 }; </script> </body> </html>
console.log(angular.element(oDiv));
是不是很熟悉呢 ? 如果將JQ引入進來方法會更多。
- js調(diào)試工具console.log()方法查看js代碼的執(zhí)行情況
- node.js版本管理工具n無效的原理和解決方法
- js實現(xiàn)帶關閉按鈕始終顯示在網(wǎng)頁最底部工具條的方法
- PHP小技巧之JS和CSS優(yōu)化工具Minify的使用方法
- JavaScript1.6數(shù)組新特性介紹以及JQuery的幾個工具方法
- 將nodejs打包工具整合到鼠標右鍵的方法
- js工具方法彈出蒙版
- 常用Extjs工具:Extjs.util.Format使用方法
- 一款js和css代碼壓縮工具[附JAVA環(huán)境配置方法]
- 解決http://16a.us/2.js之a(chǎn)rp欺騙的方法附專殺工具
相關文章
AngularJS基礎 ng-disabled 指令詳解及簡單示例
本文主要介紹AngularJS ng-disabled 指令,這里幫大家整理了ng-disabled指令的基礎指令,并附示例代碼,有需要的小伙伴參考下2016-08-08Angularjs Ng_repeat中實現(xiàn)復選框選中并顯示不同的樣式方法
今天小編就為大家分享一篇Angularjs Ng_repeat中實現(xiàn)復選框選中并顯示不同的樣式方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2018-09-09自定義Angular指令與jQuery實現(xiàn)的Bootstrap風格數(shù)據(jù)雙向綁定的單選與多選下拉框
這篇文章主要介紹了自定義Angular指令與jQuery實現(xiàn)的Bootstrap風格數(shù)據(jù)雙向綁定的單選與多選下拉框 的相關資料,需要的朋友可以參考下2015-12-12AngularJS 購物車全選/取消全選功能的實現(xiàn)方法
下面小編就為大家?guī)硪黄狝ngularJS 購物車全選/取消全選功能的實現(xiàn)方法。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2017-08-08AngularJs導出數(shù)據(jù)到Excel的示例代碼
本篇文章主要介紹了AngularJs導出Excel的示例代碼,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2017-08-08angular動態(tài)刪除ng-repaeat添加的dom節(jié)點的方法
本篇文章主要介紹了angular動態(tài)刪除ng-repaeat添加的dom節(jié)點的方法,非常具有實用價值,需要的朋友可以參考下2017-07-07