zoukankan      html  css  js  c++  java
  • JS基础内容小结(基础)(一)

    字符串的各类方法
    str.charAt(1); 从第0个开始计算获取第一个子符串,如str=‘你好吗’获取到‘好’
    str.charCodeAt(1); 获取对应字符串的编码数字;从第0个开始计算
    String.fromCharCode(22937, 21619); 返回对应字符串编码的字符串;以下应该记一下(静态方法)
    0~9的编码是48~57
    a~z的编码是97~122
    A~Z的编码是65~90
     
    str.indexOf('x', 4); 从零开始寻找x得到9 'x'用来确定所选字符串,作为目标,4是可选值从第四个开始找
    str.lastIndexOf('o'); 从后往前开始找
     
    '1000' < '2' // true 字符串的比较是比较字符编码大小
    '1000' > 2 // true 隐式转换,转化为数字进行比较
     
     
    str.substr(2,4) 从下表第三开始往后4个字符
     
    str.substring(0, 4); // 截取字符串,从低0的空格到第4个
    substring是以两个参数中较小一个作为起始位置,较大的参数作为结束位置
    以上两个都属于清拷贝,原来的父元素不做修改
     
    str.slice(1,5); // 作用效果与substring相同,但可以使用负数。不会自动比较前后大小值
     
    str.toUpperCase(); // 转化为大写
    str.toLowerCase(); // 转化为小写
     
    str.split('.', 2); // 将字符串切割为数组,第一个值写切割的内容(如果选择空,那么将得到长度为一的一整个数组,如果为''那么将会把每个字符切割,第二个值写得到的数组个数,从前往后,后面多余的会被舍弃。
     
    replace(被替换的字符,新的替换用字符)
     
    var arr = [ 'www', baidu', 'com' ];
    arr.join('aaa'); // 'www.baidu.com' 与上面的split相互使用,用来把数组连接为字符串。
     
    josn
    a={name:'ssasd',neir:555}
    使用for (var i in a){
    }来进行循环
     
     
    数组的添加与删除
    会改变数组
     
    var arr = [ 1,2,3 ];
     
    alert( arr.push( 'abc' ) ); 向最后添加abc字符串,返回值为数组长度
    alert(arr.pop()); 删除最后一个字符串,返回值为被删除的字符串
     
    alert( arr.unshift( 0 ) ); 向开头添加内容,返回数组长度 // IE 6 7 不支持 unshift 返回值
    alert(arr.shift()); 删除第一个字符串,返回值为第一个字符串。
     
    arr.splice( 0 , 0, 'aaaaaa')多项功能 第一个为选择位置,第0位,第二个0为删除个数,第三个位添加的内容
    返回值为被删除的值
     
    数组去重小例子
    var arr = [ 1,2,2,4,2 ];
     
    for ( var i=0; i<arr.length; i++ ) {
    for ( var j=i+1; j<arr.length; j++ ) {
    if ( arr[i] == arr[j] ) {
    arr.splice( j, 1 );
    j--;
    }
    }
    }
     
    sort排序方法
    arr.sort(); 默认为比较字符编码大小进行排序,能整理字母
    会改变原数组,返回本身
     
    数字排序需要加函数
    arr2.sort(function( a, b ) {
    return a - b;
    });
     
     
    排序带px单位的值
     
    arrWidth.sort(function ( a, b ) {
    return parseInt(a) - parseInt(b);
    });
    随机排序 使用random随机数
    arr.sort(function ( a, b ) {
    return Math.random() - 0.5;
    });
     
     
    取随机值
    var x = 3;
    var y = 49;
    // alert( Math.round( Math.random()*(y-x) + x ) );
     
    // 0~x
    // alert( Math.round( Math.random()*x) );
     
    // 1~x
    alert( Math.ceil( Math.random()*x) );向上取整数
     
     
    合并多个不同的数组,使用concat
    arr1.concat( arr2, arr3 )
     
     
    使字符串倒着输出
    arr1.reverse();
     
    时间设置
    var myTime = new Date();
    var iYear = myTime.getFullYear();
    var iMonth = myTime.getMonth()+1;
    var iDate = myTime.getDate();
    var iWeek = myTime.getDay();
    var iHours = myTime.getHours();
    var iMin = myTime.getMinutes();
    var iSec = myTime.getSeconds();
     
     
    floor 向下取整
    // 天:Math.floor(t/86400)
    // 时:Math.floor(t%86400/3600)
    // 分:Math.floor(t%86400%3600/60)
    // 秒:t%60
     
     
    var t = Math.floor((iNew - iNow)/1000);
    // 毫秒 - 秒
    var str = Math.floor(t/86400)+'天'+Math.floor(t%86400/3600)+'时'+Math.floor(t%86400%3600/60)+'分'+t%60+'秒';
     
    各类在if中的真假问题
    a是假 var a=0;
    b是真 var b='0';
    c是假 var c='';
    d是假 var d=null;
    e是假 var e=undefined;
    f是真 var f=[];
    g是真 var g={};
    h是真 var h=function(){};
     
     
    ECMAScript:标准、核心
    HTML 标签类型:block、inline、inline-block、table……
    JS中的数据类型:数字、字符串、布尔、函数、对象(obj、[]、{}、null)、未定义
     
     
    parseInt(num) == parseFloat(num)取整与取余数
     
    isNaN(); // true false
    // 判断某些值是不是数字
    // 不喜欢数字、讨厌数字
     
    查找id为id的元素
    getElementById('id')
     
    找到第x个div
    getElementsByTagName('div')[x]
     
    改变对象的clsaa
    obj.className='class'
     
    获取元素最终属性值的方法(以下写法解决了大部分兼容性问题)obj为对象,attr是具体属性例如‘width’
    function getStyle ( obj, attr ) { return obj.currentStyle?obj.currentStyle[attr] : getComputedStyle( obj )[attr]; }
     
    改变对象多个css属性的写法
    oDiv.style.cssText = ' 200px; height:200px; '
     
    各种判断方法
    if(){}else if(){}else if(){}else if(){}else{} 如果内容只有一行允许不加花括号,但是降低了可读性。
     
    switch(x){ 
    如果x等于?
        case 1:  执行语句1;
    break;跳出,不再执行下面语句
        case 2:  执行语句2;
    break;
    default: 执行语句3;
    (如果都不符合那么可以写入default,执行语句3,可以不写)
     
    三元运算,极度简化的判断
    例如:x?a:b 如果x成立,那么执行a,否则执行b b可以用void:0代替(说明为空)
     
    使用与&&或||进行简化判断例如
    a&&b 如果a成立,那么输出执行或输出b 如果a不成立,直接输出false
    a||b 如果a成立,那么输出 true 如果a不成立那么输出b
     
    this的认知
    this : 这个
    this: 指的是调用 当前 方法(函数)的那个对象
     
     
    return 返回值
    数字、字符串、布尔、函数、对象(元素[]{} ull)、未定义
    1) 函数名+括号:fn1() ==> return 后面的值;
    2) 所有函数默认返回值:未定义;
    3) return 后面任何代码都不执行了;
     
    当函数的参数个数无法确定的时候:用 arguments
    arguments => [ 1,2,3 ] —— 实参的集合
     
     
    定时器
    var timer = setInterval( 函数, 毫秒 );
    clearInterval( timer );
     
    setTimeout()
    clearTimeout()
  • 相关阅读:
    XML 读取器和编写器从URL读取XML
    8月8号 星期五
    080808 晴
    080805
    雨景
    用photoshop批量修改照片(待修改)
    8月7日 晴
    五不
    Android 画渐变的背景
    iOS开发的一些基础知识
  • 原文地址:https://www.cnblogs.com/az96/p/5925318.html
Copyright © 2011-2022 走看看