Javascript——值类型,JS的三种对象

简单类型和复杂类型
原始数据类型:number, string, boolean, undefined, null, object
基本类型(简单类型),值类型:number, string, boolean
复杂类型(引用类型):object
空类型:undefined,null
值类型的值在栈中存储
引用类型的值:对象在堆上存储,地址在栈上存储

var num=10; //值类型,值在栈上
var obj={ }; //复杂类型,对象在堆,地址(引用)在栈
//值类型之前传递,传递的是值
//引用类型之间传递,传递的是地址(引用)

JS学习中三种对象
内置对象——JS系统自带的对象
自定义对象——自己定义的构造函数创建的对象
浏览器对象

Javascript提供多个内置对象:Math/Array/Number/String/Boolean
对象只是带有属性和方法的特殊数据类型
学习一个内置对象的使用,只要学会其常用的成员的使用(通过查文档学习)
可以通过MDN/W3C学习
内置对象方法很多,只需要知道内置对象提供的常用方法,使用的时候查文档

MDN——在线帮助文档
实例对象:通过构造函数创建出来,实例化的对象
静态对象:不需要创建,直接就是一个对象,方法(静态方法)直接通过这个对象名字调用
实例方法必须通过实例对象调用
静态方法必须通过大写的对象调用

Math是一个内置对象,具有数学常数和函数的属性和方法,不是一个函数对象。与其他全局对象不同,Math不是一个构造函数。Math的所有属性和方法都是静态的。

例:自己定义对象,实现系统max的方法

function MyMath(){
    //添加一个方法
    this.getMax=function(){
        //所有数字中的最大值
        var max=arguments[0];
        for(var i=0; i<arguments.length; i++){
            if(max<arguments[i]){
                max=arguments[i];
            }
        }
        return max;
    };
}
//实例对象
var mt=new MyMath();
var result=mt.getMax(10,20,30,40,100,3);
console.log(result);

Date对象的方法

var dt=new Date();
//当前的时间——当前的服务器
console.log(dt);

var dt=new Date("2017-08-12");
//传入的时间
console.log(dt);
var dt=new Date();
console.log(dt.toDateString());//英文的日期
console.log(dt.toLocaleDateString());//数字格式日期
//console.log(dt);
//转成字符串
//console.log(dt.toString());

String是一个对象
字符串可以看成字符组成的数组,但是JS中没有字符类型
字符是一个一个的,在别的语言中字符用一对单引号括起来
在JS中字符串可以使用单引号也可以使用双引号,因为字符串可以看成是数组,所以可以通过for循环进行遍历

字符串特性:不可变性,字符串的值不能改变
字符串的值之所以看起来是改变的,那是因为指向改变了,并不是真的值改变了

字符串的常用属性
.length——字符串的长度
.charAt(索引),返回值是指定索引位置的字符串,超出索引,结果是空字符串
.fromCharCode(数字值,可以是多个参数),返回的是ASCII码对应的值
.concat(字符串1. 字符串2,…);返回的是拼接之后的新的字符串
.indexOf(要找的字符串,从某个位置开始的索引);返回的是这个字符串的索引值,没找到则返回-1
.lastIndexOf(要找的字符串); 从后向前找,但是索引依然是从左向右的方式,找不到则返回-1
.replace(“原来的字符串”,“新的字符串”); 用来替换字符串的

扫描二维码关注公众号,回复: 6731179 查看本文章

猜你喜欢

转载自blog.csdn.net/mintsolace/article/details/92854617