常见的js函数
2024-10-15 09:10:37
改变元素的样式
var changeStyle = function(elem,name,value){
elem.style[name] = value;
}
空位补零
function toDouble(num)
{
if(num<10)
{
return "0"+num;
}
else
{
return ""+num;
}
}
{
if(num<10)
{
return "0"+num;
}
else
{
return ""+num;
}
}
将getDay()变得正常点
function toChinese(day)
{
switch(day)
{
case 0: return '周日';
case 1: return '周一';
case 2: return '周二';
case 3: return '周三';
case 4: return '周四';
case 5: return '周五';
case 6: return '周六';
}
}
{
switch(day)
{
case 0: return '周日';
case 1: return '周一';
case 2: return '周二';
case 3: return '周三';
case 4: return '周四';
case 5: return '周五';
case 6: return '周六';
}
}
一般使用时:var oDate = new Date(); var str = toChinese(oDate.getDay());
typeof的应用~~~查看变量的类型 (这个实例是仿jquery的工作原理的原生js--------严重缩水版的vQuery选择器)
由typeof检查的常用类型有:number string boolean function object undefined
<script>
function $(vArg){if(typeof vArg == 'function')
{window.onload = vArg;}else if(typeof vArg == 'string'){return document.getElementById(vArg);}else if(typeof vArg == 'object'){return vArg;}}$(function(){$('div1').onclick = function(){$(this).style.background = 'red';};})
</script>
//而下面这段就是jquery的源码
/*$(function(){
$('#div1').click(function(){
$(this).css('background','red');
})
})*/
$('#div1').click(function(){
$(this).css('background','red');
})
})*/
arr.sort,因为sort方法--------默认的,将所有的东西都是作为字符串处理来进行排序
当你要排序的是“数字”时,给它一个参数
var arr = [12,34,2,19,78];
arr.sort(function(num1,num2){
if(num1<num2)
{
return -1; //第一个比第二个靠左
}
else if(num1>num2) //右
{
return 1;
}
else //一样
{
return 0 ;
}
});
if(num1<num2)
{
return -1; //第一个比第二个靠左
}
else if(num1>num2) //右
{
return 1;
}
else //一样
{
return 0 ;
}
});
alert(arr);
var arr = [12,34,2,19,78];
arr.sort(function(num1,num2){
return num1-num2;
});
return num1-num2;
});
alert(arr);
如果要排序的是中文字
var arr = ['张三','李四','王五','流星'];
arr.sort(function(str1,str2){
return str1.localeCompare(str2);
});
alert(arr);
arr.sort(function(str1,str2){
return str1.localeCompare(str2);
});
alert(arr);
5、toString的用法
function show()
{
alert('a');
}
alert('a');
}
show.toString = function()
{
return '就不让你弹出来';
}
return '就不让你弹出来';
}
alert(show);
当你不加show.toString这个,会弹出show这个函数的源代码~而加入toString,实际是重用了这个方法
而这边toString只有数字在用的,才能带参数,如下:
var num=255;
alert('#'+ num.toString(16)); 这是变成16进制的,也可以变成任意进制的(将会用在颜色渐变的上)
找一个数组里面是否有一个数字
function hasContain(arr,num)
{
var i =0;
{
var i =0;
for(i=0;i<arr.length;i++)
{
if(arr[i]==num)
{
{
if(arr[i]==num)
{
return true;
}
}
return false;
}
}
return false;
}
绑定事件的函数(解决attachEvent和addEventListener兼容性问题的方案)
if(oBtn.attachEvent)
{
oBtn.attachEvent('onclick',aaa);
oBtn.attachEvent('onclick',bbb);
}
else
{
oBtn.addEventListener('click',aaa,false);
oBtn.addEventListener('click',bbb,false);
}
{
oBtn.attachEvent('onclick',aaa);
oBtn.attachEvent('onclick',bbb);
}
else
{
oBtn.addEventListener('click',aaa,false);
oBtn.addEventListener('click',bbb,false);
}
改为
function myAddEvent(obj,sEvent,fn) //绑定事件
{
if(obj.attachEvent)
{
obj.attachEvent('on'+ sEvent,fn);
}
else
{
obj.addEventListener(sEvent,fn,false);
}
}
{
if(obj.attachEvent)
{
obj.attachEvent('on'+ sEvent,fn);
}
else
{
obj.addEventListener(sEvent,fn,false);
}
}
myAddEvent(oBtn,'click',aaa);
myAddEvent(oBtn,'click',bbb);
点击页面的标签,弹出标签的名称
html:
<div id="div"><span>SPAN</span>DIV</div>
<span>SPAN</span>
<p>P</p>
<span>SPAN</span>
<p>P</p>
css:
div{ background:#0000FF;width:100px;height:100px;}
span{ background:#00FF00;width:100px;height:100px;}p{ background:#FF0000;width:100px;height:100px;}
js:
document.onclick = function(evt){
var e = window.event || evt;
var tag = e["target"] || e["srcElement"]; //这一句一般都会写成这样 var tag = e.target || e.srcElement;
alert(tag.tagName);
}
ie用e.srcElement,ff用e.target(都是表示被点击的对象)
而evt是什么呢?先说说原因,window.event 只能在IE上运行,而不能在火狐中实现,这是因为火狐的event只能在事件发生的现场使用。
而这个问题的解决方案:在事件发生的函数上加上event参数,在函数体内(假设形参为evt)使用 。
js对table的偶数行划过变色(其中有遍历table)
window.onload = function(){
var oTable = document.getElementById('tb');
for(var i=0; i<oTable.rows.length; i++)
{
if(i%2==0)
{
oTable.rows[i].onmouseover = function()
{
this.style.backgroundColor = '#ffff66';
}
oTable.rows[i].onmouseout = function()
{
this.style.backgroundColor = '#d4e3e5';
}
}
}
}
var oTable = document.getElementById('tb');
for(var i=0; i<oTable.rows.length; i++)
{
if(i%2==0)
{
oTable.rows[i].onmouseover = function()
{
this.style.backgroundColor = '#ffff66';
}
oTable.rows[i].onmouseout = function()
{
this.style.backgroundColor = '#d4e3e5';
}
}
}
}
最新文章
- this指针
- OC中的内存管理
- Linux 设备驱动 Edition 3
- JavaWeb_数据传输_原
- find 日常使用
- node系列4
- bug修复复盘
- POJ1328 Radar Installation(贪心)
- HaoZip(好压) 去广告纯净版 4.4
- python多进程,以及进程池并发
- CoopyIII开发文档之控制LED灯开关
- Wordpress“固定链接”页面出现404原因及解决方法
- PMP:4.项目整合管理
- [bug]android monkey命令在Android N和Android O上的一点差异发现
- 2018.10.27 codeforces402D. Upgrading Array(数论+贪心)
- CSDN博客QQ加群、微信
- 《Lua程序设计》第1章 开始 学习笔记
- UVa 1252 - Twenty Questions(状压DP)
- MySQL的安装步骤
- gan对抗式网络
热门文章
- EasyTouch 3.1中文翻译
- POJ 2106 Boolean Expressions (布尔表达式求值)
- 【leetcode】Find Peak Element ☆
- 无废话版本-Asp.net MVC4.0 Rasor的基本用法
- linux入门教程(五) Linux系统的远程登录
- 李洪强iOS开发之OC[015]#pragma mark的使用
- opencv求取RGB分量
- [UESTC1059]秋实大哥与小朋友(线段树, 离散化)
- mkdir -p
- JPA和Hibernate的区别