JavaScript预解析和常用对象

一、预解析
                1.js引擎运行js分为两步:预解析代码执行
                    (1)预解析:js引擎会把js里面所有的 var 还有 function提升到当前作用域的最前面
                    (2)代码执行:按照代码书写的顺序从上往下执行
                
                2.预解析:分为变量预解析(变量提升)和函数预解析(函数提升)
                    (1)变量提升 就是把所有的变量声明提升到当前作用域的最前面 不提升赋值操作
                            例: console.log(num);
                                 var num=10;
                            预解析后:    var num;
                                        console.log(num);
                                        var num=10;
                                        
                                    运行结果:    undefined
                    (2)函数提升 就是把所有的函数声明提升到当前作用域的最前面 不调用函数
                            例: fn();
                                 var fn=function{
                                    console.log(22);
                                 }                            //这是一个函数表达式,函数的调用要写在函数表达式后面
                                此程序会报错
                            预解析后:var fn;
                                      fn();
                                      fn=function{
                                        console.log(22);
                                      }

二、对象        
                1.对象
                        对象:是由一系列无序的相关属性和方法的集合
                
                2.创建对象的三种方式
                        (1)利用字面量创建
                                    例:var obj={uname:'张三',age:12,sayHi:function(){console.log('hi')}}
                                    特点:①对象中的属性和方法采用键值对的形式
                                          ②多个属性或方法之间用','链接
                                          ③方法冒号后面跟的是一个匿名函数
                        (2)用new Object创建
                                    例:var obj = new Object()//创建一个空的对象
                                        obj.uname='张三';
                                        obj.age=12;
                                        obj.sayHi=function(){
                                            console.log('hi');
                                        }
                                    特点:采用的是:对象名.属性=值;对象名.方法=function(){}
                        (3)用构造函数创建
                                    构造函数:把对象相同的属性和方法抽取出来封装到一个函数中。
                                    
                                    构造函数的格式: function 构造函数名(){
                                                            this.属性=值;
                                                            this.方法=function(){}
                                                    }
                                    规范:①构造函数函数名首字母大写
                                          ②不需要return就可以返回结果
                                          ③调用构造函数必须用new                    例: var obj = new Star();
                                          ④属性和方法前必须有this
                                    对象的实例化:利用构造函数新建对象的过程也叫对象的实例化
                    
                    3.JavaScript中对象分为3种:
                                                1.自定义对象
                                                2.内置对象
                                                3.浏览器对象
                            前两种是JS基础内容,属于ECMAScript
                            第三种属于浏览器特有的
                    
                        内置对象:就是JavaScript语言自带的对象 例:Math、Date、Array、String对象等。
                
                    
                    4.Date对象
                        ·            ①Date()对象是一个构造函数,使用前必须现实例化
                                    
                                    ②var date=new Date();        没有参数就返回当前时间
                                    
                                    ③参数的常用写法:        数字型            例:2019,10,1
                                                            字符串型        例:“2019-11-1”
                                    
                                    ④获得Date总的毫秒数            毫秒数是当前时间距离1970年1月1日的毫秒数
                                            方法: valueOf()            getTime()
                                                    使用过程:    var date = new Date;
                                                                console.log(date.valueOf());
                                                                console.log(date.getTime());
                                            方法:+new Date()        最常用的写法
                                                                var date1 = +new Date();
                                                                console.log(date1);
                                            方法:H5新增的 获得总的毫秒数
                                                                console.log(Date.now());
                    5.数组对象
                                    1.创建数组的两种方式:
                                                        ①利用数组字面量:
                                                                        var arr1=[1,2,3];
                                                        ②利用new Array()
                                                                        var arr2=new Array(); //创建了一个空数组
                                                                        var arr2=new Array(2);//表示这个数组长度为2 里面2个空的数组元素
                                                                        var arr2=new Array(2,3);//等价于[2,3]
                                    2.检测是否为数组方法:
                                                        ①instanceof
                                                                        例:
                                                                        var arr=[];
                                                                        console.log(arr instanceof Array);  //结果true
                                                                        var obj={};
                                                                        console.log(obj instanceof Array);    //结果false
                                                        ②Array.isArray()
                                                                        例:
                                                                        var arr=[];
                                                                        console.log(Array.isArray(arr));
                                    3.添加删除数组元素:
                                                        ①push()         在数组末尾添加一个或多个数组元素
                                                                        例:
                                                                            var arr=[1,2,3];
                                                                            arr.push(4);
                                                                            console.log(arr);   //[1,2,3,4]
                                                                            arr.push(4,5);
                                                                            console.log(arr);     //[1,2,3,4,5]
                                                        ②unshift()    在数组开头添加元素
                                                                        例:
                                                                            var arr=[1,2,3];
                                                                            arr.unshift(0);
                                                                            console.log(arr);    //[0,1,2,3]
                                    4.删除数组元素:
                                                        ①pop()        删除最后一个元素
                                                        
                                                        ②shift()    删除第一个元素
                                                        
                                    添加和删除数组:


                                      
                                    5.数组排序:
                                          
                                            
                                            sort(function(a,b){return a-b;//升序反之return b-a;是降序排序})
                                    6.数组的索引方式:
                                          
                                    7.数组转换为字符串:
                                          
                                    8.字符串对象:
                                            ①基本包装类型:就是把简单的数据类型包装成一个复杂数据类型。  还包括:String Number Boolean
                                            
                                            ②字符串不可变:指的是字符串里的值不可变,虽然看上去看可以改变内容,但其实是地址变了,内存中新开辟了一个内存空间
                                            
                                            ③字符串所有的方法,都不会修改字符串本身,操作完成会返回一个新的字符串
                                            
                                            ④根据字符返回位置
                                            
                                            
                                            ⑤根据位置返回字符(!!)
                                          

 

 

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值