分享web开发知识

注册/登录|最近发布|今日推荐

主页 IT知识网页技术软件开发前端开发代码编程运营维护技术分享教程案例
当前位置:首页 > 前端开发

关于JS的日常工作总结

发布时间:2023-09-06 01:14责任编辑:顾先生关键词:暂无标签

1 .js == 没有传递性:

var a=‘‘,b=‘0‘,c=0

b==c; //true

a==c; // true

a==b; // false


2.js判断是否为数字
???isNaN(‘12346543‘); //false

???isNaN(‘12346543q‘); //true

???isNaN(‘ ????‘); //false ?需要自行判断

??a: var b=function(a){a=a+‘‘;

????if(isNaN(a)||a.startsWith(‘ ‘)||a===‘‘){

?????????console.log(‘!number‘)}else{console.log(‘number‘)

?????}}

??b: function check(s){

????var temp=/^\d+(\.\d+)?$/;

???if(temp.test(s)==false)

????console.log("输入错误");

???}


3.查看jQuery版本
???$.fn.jquery


4.input元素实时监听
???$(function()

???????????????{

???????????????????????var jsUserName = "";

???????????????????????if($.browser.msie) ???????// IE浏览器

???????????????????????{

???????????????????????????????$("#userName").get(0).onpropertychange = setJsUserName;

???????????????????????????????$("#jsUserName").get(0).onpropertychange = handle;

???????????????????????}

???????????????????????else ???????// 其他浏览器

???????????????????????{

???????????????????????????????var intervalName; ???????// 定时器句柄

???????????????????????????????$("#userName").get(0).addEventListener("input",setJsUserName,false);

???????????????????????????????// 获得焦点时,启动定时器

???????????????????????????????$("#userName").focus(function(){

???????????????????????????????????????intervalName = setInterval(handle,1000);

???????????????????????????????});

???????????????????????????????// 失去焦点时,清除定时器

???????????????????????????????$("#userName").blur(function()

???????????????????????????????{

???????????????????????????????????????clearInterval(intervalName);

???????????????????????????????});

???????????????????????}

???????????????????????// 设置jsUserName input的值

???????????????????????function setJsUserName()

???????????????????????{

???????????????????????????????$("#jsUserName").val($(this).val());

???????????????????????}

???????????????????????// jsUserName input的值改变时执行的函数

???????????????????????function handle()

???????????????????????{ ????

???????????????????????????????// IE浏览器此处判断没什么意义,但为了统一,且提取公共代码而这样处理。

???????????????????????????????if($("#jsUserName").val() != jsUserName)

???????????????????????????????{

???????????????????????????????????????$("#toolTip").remove();

???????????????????????????????????????$("#jsUserName").parent().append("<span id=‘toolTip‘>看到这里的信息表明,通过js改变input的值也能响应相应事件:<span ?style=‘color:red;‘>" + $("#jsUserName").val() + "</span></span>");

???????????????????????????????????????jsUserName = $("#jsUserName").val();

???????????????????????????????}

???????????????????????}

});


5.&& || 返回值
???&&

???首先计算其左边的表达式,如果它的值为false或可被转换为false(null、NaN、0或undefined),那么将返回左边表达式的值,否则,它将计算右边的表达式, 并返回这个表达式结果作为 &&运算的结果。

???||

???首先计算其左边的表达式,如果它的值不为false或不可被转换为false(null、NaN、0或undefined),那么将返回左边表达式的值,否则,它将计算右边的表达式, 并返回这个表达式结果作为||运算的结果。

6.js闭包计数:

var setup=function(){
?var count=0;
?return function(){
???return count=count+1;
?}
}
var next=setup();
next()
1
next()
2
next()
3
next()
4


7.执行后自销毁:

function a(){
???a=undefined ;
???return 100 ;
}//也可用于第一次使用时初始化在调用;
function a(){ var b=1; a=function(){alert(b)} ;}
//不可复制给其他变量。否则失效
即时函数
(function(){
????alert(‘123‘)
}())


8.js a=b:
var a={},b=a;
a.a=100;
b.a//100
a={a:200};
b.a//100


9.计时器
<html>
<head>
???<script>
???????x = 0
???????y = 0
???????function count1() {
???????????x = x + 1
???????????document.display1.box1.value = x
???????????meter1 = setInterval("count1()", 1000)
???????}
???????function count2() {
???????????y = y + 1
???????????document.display2.box2.value = y
???????????meter2 = setInterval("count2()", 1000)
???????}
???</script>
</head>
<body bgcolor=lightcyantext =red>
???<p>
???????</br>

???????<form name=display1>
???????????<input type="text" name="box1" value="0" size=4>
???????????<input type=button value="停" onclick="clearInterval(meter1)">
???????????<input type=button value="继续" onclick="count1() ">
???????</form>
???<p>
???????<form name=display2>
???????????<input type="text" name="box2" value="0" size=4>
???????????<input type=button value="停" onclick="clearInterval(meter2) ">
???????????<input type=button value="继续" onclick="count2( ) ">
???????</form>

???????<script>
???????????count1()
???????????count2()
???????</script>

</body>
</html>
10. for if switch 等方法不会创建新的作用域:
for(var i=0;i<10;i++){
?for(var i=0; i<10;i++){
var abc=100;
?console.log(‘in‘+i) ??
}
console.log(‘out‘+i) ??????
}
VM529:5 in0
...
VM529:5 in9
VM529:7 out10
abc //100

关于JS的日常工作总结

原文地址:http://www.cnblogs.com/zwcai/p/7610668.html

知识推荐

我的编程学习网——分享web前端后端开发技术知识。 垃圾信息处理邮箱 tousu563@163.com 网站地图
icp备案号 闽ICP备2023006418号-8 不良信息举报平台 互联网安全管理备案 Copyright 2023 www.wodecom.cn All Rights Reserved