js的基础知识与应用(四)

global

           `asdasd` 模版字符串

            ${变量}  占位符

onmousedown  鼠标按下

onmouseup    鼠标抬起

日期对象:

             var oDate = new Date();

             oDate.getFullYear()  年

             oDate.getMonth()+1 月  0开始

             oDate.getDate() 日

             oDate.getDay()    星期 小写

             oDate.getHours()    时

             oDate.getMinutes()  分钟

             oDate.getSeconds()  秒

字符串下标:

            var str='123';

            str[i]    不兼容

           str.charAt(i)

=======================================

设置时间:

           setFullYear(0,0,0);

           setHours(0,0,0);

如果时间大于正常时间  会进位

            月:0-11

图片时钟:

            document.getElementById();

            document.getElementsByTagName()[];

            document.getElementsByClassName();

//通过class 选取一组元素  不兼容

封闭空间: (function(){})()  也叫自执行函数

              1.全局变量 污染环境

              2.(function(){

                            //code 里面的变量 和函数名 不和外面冲突

                  })()

             3.解决了变量名 冲突

arguments:实参参数的数组

                length

                []

               只能用这两个方法

               当参数个数不固定时使用。

伪数组、类数组 只能用数组的下标 其他的方法都不能用



字符串常用方法(函数)

                str.charAt(下标)获取某一位置的字符

                str.indexOf(字符串)从前往后找,字符串第一次出现的位置.

                                        如果找到了,返回位置,如果没找到,返回-1.

                str.lastIndexOf(字符串)从后往前找,字符串第一次出现的位置.

                                        如果找到了,返回位置, 如果没找到,返回-1.

                str.substring  截取字符串

                                        substring(开始位置,结束位置(不包括结束位置));

                                        substring(开始位置); 从开始截取到最后

                                        str.toLowerCase()  把字符串转成小写

                                        str.toUpperCase()  把字符串转成大写

截取文件后缀名

              str.split('特定的字符'); 把字符串通过特定字符分割成数组

UA:  获取浏览器的信息 window.navigator.userAgent

数组:

            arr.length  个数

            arr.[]        下标

如何内弄出来一个数组?

            a.var  arr=[1,2,3,4];

            b.var  arr=new Array(1,2,3,4);

小问题:

            var arr=[3];会弹出三个空数组

            var arr=new Array(3) 会弹出一个数组里面只有3;

****不一样

          var arr=Array.of(3);  **ES6新语法

数组小方法:

        添加:

                   arr.push() 在后面添加一个

                   arr.unshift() 在前面添加一个

        删除:

                   arr.pop()  在后面删除一个

                   arr.shift()  在前面删除一个

                              删除      有返回值  返回的是被删掉的东西

        万能的操作:

                   arr.splice() 会改变原数组 有返回值

                            a. 删除          arr.splice(开始的位置,删除的个数)

                            b.插入      arr.splice(开始的位置,0,要插入的东西1,要插入的东西2,要插入的东西3)

                            c. 替换    arr.splice(开始的位置,长度,要替换的东西)


        数组转字符串:

                        arr.join('特殊的字符')  通过特殊的字符把数组拼接成字符串

                                        有返回值  不改变原数组

        数组连接:    arr.concat()    arr.concat(arr1,arr2)

        数组反转:    arr.reverse()

        数组排序:    arr.sort()

不能排数字,数字的排序,也会变成字符串的排序

拿两个东西给人家。人家排序,告诉你结果

从小到大:

           arr.sort(function(n1,n2){

                    return n1-n2;

           });

从大到小

           arr.sort(function(n1,n2){

                  return n2-n1;

            });

数组,里面理论上可以存任何东西

但是:建议,以后数组里面最好只存储一个类型值

数组的length可以赋值

               arr.length=10

快速清空一个数组:

               a.arr.length=0;

               b.arr=[];

               c.arr.splice(0,arr.length);

               d.while(arr.length){

                          arr.pop();

                }

json:(给变量打了一个包)

             {a:12,b:5,c:6}  ***json 键值对

加引号是标准写法。

             {'name':value,'name':value}

主要用来装东西、传输数据

**跟后台交互时,json必须用标准格式。

                数组         json

下标         数字      字符串 

length        有        没有

循环    for/while      for...in

循环

              for...in... json专用

              for(var i in json){

                         //i  下标

                        //json[i] 值

               }

添加:

             json.a=12;  键不能重名

删除:

            delete json.a

你可能感兴趣的:(js的基础知识与应用(四))