JS基础知识

原创
2016/04/19 08:30
阅读数 300

1、获取颜色的16进制表达方式

var str = [];
var destEl = Ext.get(id);

destEl.dom.innerHTML = text; 

var rgb =  destEl.dom.style.borderColor.split('(');
for(var k = 0; k < 3; k++){
	str[k] = parseInt(rgb[1].split(',')[k]).toString(16);
}
var col = '#'+str[0]+str[1]+str[2];
alert(col);

2、js自执行的匿名函数

    ①:自执行函数: 

(function(){})();// ()内是表达式

    ②:为什么会自执行

       js在"预编译"阶段, 会解释函数声明, 但却会忽略表式.

       当js执行到(function {// code})();时, 由于(function {// code})是表达式, js会去对它求解得到返回值, 由于返回值是一 个函数, 故而遇到();时, 便会被执行.

        另外, 函数转换为表达式的方法并不一定要靠分组操作符(),我们还可以用void操作符,~操作符,!操作符……如:

!function(){   
  alert("另类的匿名函数自执行");   
}();

3、typeof():

    传一个参数,返回值为几个固定的字符串。用法:

typeof(x)===   "function"
typeof(x)===   "object"
typeof(x)===   "undefined"
typeof(x)===   "number"
typeof(x)===   "string"
typeof(x)===   "boolean"


"number"、"string"、"boolean"、"object"、"function" 和 "undefined"

可用于判断一个对象的属性类型。

4、javascript判断是 pc端 还是 移动终端

      var browser={  
	    versions:function(){   
	           var u = navigator.userAgent, app = navigator.appVersion;   
	           return {//移动终端浏览器版本信息   
	                trident: u.indexOf('Trident') > -1, //IE内核  
	                presto: u.indexOf('Presto') > -1, //opera内核  
	                webKit: u.indexOf('AppleWebKit') > -1, //苹果、谷歌内核  
	                gecko: u.indexOf('Gecko') > -1 && u.indexOf('KHTML') == -1, //火狐内核  
	                mobile: !!u.match(/AppleWebKit.*Mobile.*/), //是否为移动终端  
	                ios: !!u.match(/\(i[^;]+;( U;)? CPU.+Mac OS X/), //ios终端  
	                android: u.indexOf('Android') > -1 /*|| u.indexOf('Linux') > -1*/, //android终端或者uc浏览器  
	                iPhone: u.indexOf('iPhone') > -1 , //是否为iPhone或者QQHD浏览器  
	                iPad: u.indexOf('iPad') > -1, //是否iPad    
	                webApp: u.indexOf('Safari') == -1 //是否web应该程序,没有头部与底部  
	            };  
	         }(),  
	         language:(navigator.browserLanguage || navigator.language).toLowerCase()  
		}   
	  
	    if(browser.versions.mobile || browser.versions.ios || browser.versions.android ||   
	    	browser.versions.iPhone || browser.versions.iPad){  
	    	
           //如果是移动端, doing....

	    }
展开阅读全文
打赏
1
0 收藏
分享
加载中
更多评论
打赏
0 评论
0 收藏
1
分享
返回顶部
顶部