js基础篇(二)

来源:互联网 发布:手机动漫模型软件 编辑:程序博客网 时间:2024/06/03 20:58

js之数据域

1.浏览器:找一些东西,var (function) 参数    预先存储 var function1.所有的变量在代码正式运行之前,全都赋了一个值,undefined所有函数,在正式运行之前都是整个函数块。2.逐行解读代码表达式可以改变预解析的值(函数不可以)2.    window.onload = function () {        var a = 1;        function f1() {            var b = 2;            var c = 5;            function f2() {                c = 3;                alert(a + b + c);           //6            }            f2();        };        f1();        alert(c);                           //not defined        window.c                           //undefined    };3.一直找到全局变量为止!1.函数内->2.参数->3.上一个作用域->4.全局window.xxx    如果没有不会报错,undefinedfunction f1() {    alert(c);    c = 5;    代码一行一行执行,c还没有变为全局变量时就已经报错了。}4.(function() {})();匿名函数直接调用。立即执行,不污染全局。(function(window,undefined) {})(window);传入window是为了提高速度,在多个函数的嵌套中,不需要去找全局变量不传入undefined是为了安全,因为ff,IE可以对其赋值,undefined = 4;直接在内部声明var undefined;       var a = 1;       function test(a) {           alert(a);       };       test();         undefined;       在不传入参数的情况下,默认其实已经传入参数为undefined.

js数组

1.json形式的对象   key ---- value;        var json = {            'name' : 'Aifald',          //推荐属性名称使用字符串            'age' : 32        }2.数组的几种创建方式:var arr = new Array();var arr = new Array(10);               //当只有一个数字时被当做长度var arr = new Array('10');             //字符当做是内容var arr = new Array(1,2,3,4);var arr = [];                          //推荐使用删除数组的方式:arr.length = 0;arr = []                              //效率稍高,推荐使用var string = 'string';string.length = 1;alert(string.length);str = 'paulo';                       //内容改变了     可以被重新赋值。                              //字符串是不可以改变的包括属性,本身自己的值。3.pop();                      返回最后删除的元素shift();                    返回最先删除的元素push();                     返回长度unshift();                  返回长度arr.unshift(arr.pop())      将最后的加在前面arr.push(arr.shift())       将最前面的加在最后面splice(start,length,add);   返回删除的元素(数组)                            利用其删除特性可以进行数组去重。(双重循环)4.排序默认的情况下,所有的全部按照(编码进行比较)排序。var arr = [1,2,3,78,8];      //默认按照字符串来排序,78 < 8arr.sort();                  //返回原来的数组arr.sort(function (a,b) {    return a - b;            //正数交换,负数不交换});arr.sort(function (a,b) {    return Math.random() - 0.5;    //随机排序    Math.round(Math.random() * (1 - (-1))) + (-1); // -1 ~ 1之间});console.log(Math.round(Math.random() * (y - x)) + x);      //x到y之间5.        console.log(arr.concat(arr1,arr2));        console.log(arr);                         //不改变原来的数组,返回连接的数组        arr.reverse();   //改变原来数组,返回翻转的数组        var newStr = str.split('').reverse().join('');                         //翻转字符串/////////////////////////////////////////////////////////////////////////push(),pop(),shift(),unshift(),splice(),concat(),reverse(),sort();

js之日期

1.    var myDate = new Date();     myDate.getYear();        //获取当前年份(2位)     myDate.getFullYear();    //获取完整的年份(4位,1970-????)     myDate.getMonth();       //获取当前月份(0-11,0代表1月)     myDate.getDate();        //获取当前日(1-31)     myDate.getDay();         //获取当前星期X(0-6,0代表星期天)     myDate.getTime();        //获取当前时间(从1970.1.1开始的毫秒数)     myDate.getHours();       //获取当前小时数(0-23)     myDate.getMinutes();     //获取当前分钟数(0-59)     myDate.getSeconds();     //获取当前秒数(0-59)     myDate.getMilliseconds();    //获取当前毫秒数(0-999)     myDate.toLocaleDateString();     //获取当前日期     var mytime=myDate.toLocaleTimeString();     //获取当前时间     myDate.toLocaleString( );        //获取日期与时间2.oImg[i].src = 'img/' + str1.charAt(i) + '.jpg';根据每个字符数字来决定用哪张图片。3.    创建倒计时    iNow = new Date();    time = Math.floor((iNew - iNow) / 1000);    var str = Math.floor(time/86400) + '天' + Math.floor(time%86400/3600) + '时' + Math.floor(time%86400%3600/60) + '分' + Math.floor(time%60) + '秒';    aInp[1].value = str;    if(time <= 0) {        clearInterval(timer);        alert('0');    }},1000);// March 29,2017 12:00:00

js之滚轮

1.    滚轮事件:ie/chrome :onmousewheel              firefox:  DOMMouseScroll      必须用addEventListener2.            属性(数字):event.wheelDelta  120 -120                          event.detail      -3   33.              if(event.wheelDelta) {                    b = event.wheelDelta > 0 ? true : false;                } else {                    b = event.detail < 0 ? true : false;                }                根据属性值的正负判断是否为滚轮向上或者向下4.    return false 阻止的默认行为是DOM0事件 obj.on事件 = fn;和IE下的attachEvent      addEventListener绑定的事件阻止默认行为用 preventDefault;                        cookie5.一个域名下的cookie个数是有限的,而且不同浏览器的个数不一样。  每一个cookie存放内容的大小有限,每个浏览器也是不一致的。  如果想长时间存储cookie必须设置一个过期的时间。  cookie默认是临时存储的。当关闭浏览器进程的时候自动销毁。6.   IE:必须expires= + 字符串格式的时间           date.toGMTString();    内容最好编码存放:处理一些特殊的字符    \n等。    encodeURI(string);    decodeURI(string);    cookie是以 (; )分号和空格分隔    document.cookie.split('; ')    删除一个cookie只要设置过期的时间就可以给了。document.cookie = 'username = ' + encodeURI('你好Airfald\npaulo') + ';expires = ' + oDate.toGMTString();
原创粉丝点击