《js基础》

10 篇文章 0 订阅

        前述:终于抽出时间,整理了一些编程中所需基础知识。

       写好功能必要条件:1、基础知识。2、编程逻辑思路。后者最重要,因为:有些知识查资料再根据逻辑也可做出功能。功能逻辑思路图及解说在单独章节中讲解。在此只说必备必会js基础:

1、判断是否选中:
jauery:
$("#check_select").is(":checked") //false/ true
js:
<input class='checkbox-css'  id='cbx_01' value='' type='checkbox'/>
...
 var cb = document.getElementById("cbx_" + i);
if (cb.checked) {
   ....
}
2、获取table 某行某列值:
 var table = document.getElementById('table');
console.log( table.rows[i].cells[j].innerHTML);
获取值:
    //select
    //选择:选项二
    var select =document.getElementById('select');
    var index=select.selectedIndex;
    console.log(select.value);//v2
    console.log(select.options[index].text);//选项二
    console.log(select.options[index].value);//v2
    //选择:选项一
    console.log($("select[name='selectname']").val());// 1
    console.log($("select[name='selectname'] option:selected").text());// 选项一
    //选择:选项三
    console.log($('#select').val());//v3
    console.log($('#select option:selected').val());//v3
    console.log($('#select option:selected').attr('value'));//v3
    console.log($('#select option:selected').text());//选项三

   //input
    var input = document.getElementsByName("InputName");
    for (i = 0; i < input.length; i++) {
        console.log(input[i].value);
    }
    //div
    var div=document.getElementById('div');
    console.log(div.innerText);//信息

3、创建标签:
var div =document.createElement('div');
4、赋值标签:把a标签赋值到div标签中
div.appendChild('a');
5、json转换:
var jsonstr='[{"":""...},{}.....]';
var jsonData = new Function("return " + jsonstr)();//json字符串转json对象
    var jsonData = eval(jsonstr);//json字符串转json对象
6、json个数:jsonData.length;
7、取json对象:
for(i=0;i<jsonData.length;i++){
    for(value in jsonData[i]){
       console.log( jsonData[i][value]);
    }
}
8、button按钮:

<button id="bt_0"></button>
 button.onclick = function(){
 ...
 }
----
<input type="button" id="edit_0" value="sub"/>
var ed=document.getElementById('edit_0');
ed.onclick = function(){
   ...
   }

9、标签添加name属性,:
 div.setAttribute("name",01);
10、获取标签属性值:
this.getAttribute("name");
11、判断是否删除:
var info=...;
 if(confirm("确认要删除名称为:"+info+"的信息吗?")){
                console.log("是");
                console.log(id);
                ....
            }
            else{
                console.log("否");
            }

12、正则表达式:
    一、中文判断:
    var reg = /[\u4e00-\u9fa5]/;
    console.log( reg.test('美好的一天!'));//true

    二、密码验证:由大小写字母、数字、及 * &  % $ # @  _ . 特殊符号组成的8-20位密码。
        var pw = /^(?=.*?[a-z])(?=.*?[A-Z])(?=.*?\d)(?=.*?[!*&%$#@_.])[a-zA-Z\d!*&%$#@_.]{8,20}$/;

    三、判断:手机号是否正确:1开头,第二位是3、4、5、7、8中任意一位,之后为0-9组成的9位数,共计11位数。
        var reg = /^[1][3,4,5,7,8][0-9]{9}$/;

    四、验证邮箱:(1)字母数字下划线组合开头,(2)@居中,(3)后加字母数字,(4)再加.英文点 ,(5)后跟2-4字母的组合
          var emailreg = /^([a-zA-Z]|[0-9])(\w|\-)+@[a-zA-Z0-9]+\.([a-zA-Z]{2,4})$/;

    五、验证数字
          var numreg =/^(\-|\+)?\d+(\.\d+)?$/;
    六、验证身份证号码:身份证号码15、18位数;当15位时全为数字,当18位时尾位数为校验位(数字 or 字母x、X)。
        var reg = /(^\d{15}$)|(^\d{18}$)|(^\d{17}(\d|X|x)$)/;

13、删除标签:
(1) div.removeChild(document.createElement('table'));
 (2)id.innerHTML='';
   (3)    var div = document.getElementById('div');
        div.parentNode.removeChild(div);
14、定时:
setTimeout(function () {
              f();
        }, 1000);//每隔1000ms(1s)执行f()方法一次。
function f(){
...
}

15、闭包
  window.onload=function () {
        var f=f1();
        function f1(){
            return function f2(){
                var info="信息";
                return info;
            }
        }
        console.log(f());//输出:信息
    }


16、js终止:return false;//之后的不执行。

17、json对象转json字符串:var jsonstr=JSON.stringify(json);

18、js 生成json数据:
方法一、
   var json = [];
    var rows = {};
    rows.id= "01";
    rows.name = "wangwu";
    json.push(rows);

方法二、
        var rows = {id:'02',name:'wangwu'}
        json.push(rows);

19、页面高宽:
var w = document.body.clientWidth;
var h = document.body.clientHeight;
20、获取input值:
document.getElementById('input').value
21、模糊匹配值:
 //模糊匹配-模糊查询:类似sql like '%%'
        var str1="项目信息";
        var str2="信息";
        if(str1.indexOf(str2) > 0){
           console.log(true);//输出:true
        }else{
            console.log(false);
        }
22、jquery循环:
 $("#divid input").each(function(){

            });
23、把数字和汉字分开、取汉字和数字部分:
 var re1 = /(\d{1,3})+(?:\.\d+)?/g
    var re2 = /[\u4e00-\u9fa5]{2,}/g
    var str="苹果20.55%";
    var arr1 = str.match(re1);
    var arr2 = str.match(re2);
   console.log(arr1);//20.55
    console.log(arr2);//苹果

24、字符串转数字:
    var str="123";
    var strf="11.234";
    console.log(parseInt(str));//123
    console.log(parseFloat(strf));//11.234
    console.log(Number(str),Number(strf));//123 11.234
    console.log(Number(str)+Number(strf));//134.234
25、数字四舍五入:
 //四舍五入/约等于:
    var num=9.532;
    console.log(Math.round(num * 10) / 10);//9.5
    var num1=2.674;
    console.log(Math.round(num1) );//3
    console.log(Math.round(num1 * 10) / 10);//2.7

    var num2=3.15482;
    console.log(num2.toFixed(1));//3.2
    console.log(num2.toFixed(2));//3.15
    console.log(num2.toFixed(3));//3.155
    console.log(num2.toFixed(4));//3.1548
    console.log(Math.round(num2));//3
    console.log(parseFloat(num2).toFixed(4));//3.1548

    var num4=3.5372839;
    console.log(Math.round(num4));//4
    console.log(num4.toFixed(1));//3.5
    console.log(num4.toFixed(2));//3.54
    console.log(num4.toFixed(3));//3.537
    console.log(num4.toFixed(4));//3.5373

26、判断是数字:
//是数字 isNaN false,若是非数字isNaN true
if(!isNaN(num));// num是数字,true
27、弹框:
alert("弹框");//一般不用。
console.log("test info");//F12 console 输出:  test info
28、排序:
   /*------------排序:-----------*/
       /*正序:*/
       var array = [7455,52,564,324,885,4632,1,5,73,4,8];
       array.sort(function(a,b){
           return a - b;
       });
       console.log(array);//输出[1, 4, 5, 8, 52, 73, 324, 564, 885, 4632, 7455]
       /*倒序:*/
       var array1 = [7455,52,564,324,885,4632,1,5,73,4,8];
       array1.sort(function(a,b){
           return b - a;
       });
       console.log(array1);//输出[7455, 4632, 885, 564, 324, 73, 52, 8, 5, 4, 1]

       var array2 = [{id:'2kh45l3mm4n5l2l4h2',num:8},{id:'3kh45l3mm4n5l2l4h2',num:98},{id:'dfj3l4h2j4ssio4',num:7}
       ,{id:'ll43jro4hretlir94',num:998},{id:'lwei234j2l34idjdrir8el',num:3}];
       array2.sort(function(a,b){
           return a.num - b.num
       });
       console.log(array2);
      //输出:
       // 0: {id: "lwei234j2l34idjdrir8el", num: 3}
       // 1: {id: "dfj3l4h2j4ssio4", num: 7}
       // 2: {id: "2kh45l3mm4n5l2l4h2", num: 8}
       // 3: {id: "3kh45l3mm4n5l2l4h2", num: 98}
       // 4: {id: "ll43jro4hretlir94", num: 998}

     var array3 = [{id:'2kh45l3mm4n5l2l4h2',num:8,sum:874},{id:'3kh45l3mm4n5l2l4h2',num:98,sum:534},{id:'dfj3l4h2j4ssio4',num:7,sum:21}
         ,{id:'ll43jro4hretlir94',num:998,sum:3},{id:'lwei234j2l34idjdrir8el',num:3,sum:76}];
        array3.sort(function(a,b){
            if(a.num === b.num){//如果id相同,按照age的降序
                return b.sum - a.sum
            }else{
                return a.num - b.num
            }
        });
        console.log(array3);
        //输出(num列递增):
     //0: {id: "lwei234j2l34idjdrir8el", num: 3, sum: 76}
     //1: {id: "dfj3l4h2j4ssio4", num: 7, sum: 21}
     //2: {id: "2kh45l3mm4n5l2l4h2", num: 8, sum: 874}
    // 3: {id: "3kh45l3mm4n5l2l4h2", num: 98, sum: 534}
     //4: {id: "ll43jro4hretlir94", num: 998, sum: 3}

    /* 冒泡排序-正序:*/
    function f(array) {
        for (i = 0; i < array.length; i++) {
            for (t = 0; t < array.length - i - 1; t++) {
                if (array[t] > array[t + 1]) {
                    var num = array[t];
                    array[t] = array[t + 1];
                    array[t + 1] = num;
                }
            }
        }
        return array;
    }
    console.log(f([5, 3, 78, 32, 95, 32, 56, 2]));//[2, 3, 5, 32, 32, 56, 78, 95]
    /* 冒泡排序倒序:*/
    console.log(f([5, 3, 78, 32, 95, 32, 56, 2]).reverse());//[95, 78, 56, 32, 32, 5, 3, 2]
    /*以下可略:*/
    /*不带参数的排序--任意排序:*/
       var array4 = ['张三','李四','王五'];
       console.log(array4.sort());//输出["张三", "李四", "王五"]

       var array5 = [7455,52,564,324,885,4632,1,5,73,4,8];
       console.log(array5.sort());//输出:[1, 324, 4, 4632, 5, 52, 564, 73, 7455, 8, 885]
29、获取一段字符:
var str ="sert";
var string=str.substr(2,3);//rt

30、阶乘c5 3:

 window.onload = function () {
var  a=1;
var  b=1;
var  c;
for(var i=0;i<3;i++){
a*=5-i;
b*=3-i;
}
c=a/b;
console.log(c);
}







未完待续...

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值