js对象创建、js数组及数组中数据的操作、js中数学对象Math及random

js对象

1.使用原始的方式创建内置对象
    var myObject = new Object();
    myObject.name = “lijie”;
    myObject.age = 20;
    myObject.say = function(){...}

2.直接创建自定义对象
    var 对象名 = {属性名1:属性值,属性名2:属性值2,…….}

*3.使用自定义构造函数创建对象
    function pen(name,color,price){
        //对象的name属性
        this.name = name;
        //对象的color属性
        this.color = color;
        //对象的piece属性
        this.price = price;
        //对象的say方法
        this.say = function(){};
    }

    var pen = new pen(“铅笔”,”红色”,20);
    pen.say();

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>对象</title>
</head>
<body>
    <script>
        // 1.通过系统内置的object() 去定义自己的对象
        var obj= new Object();
        obj.name='张三';
        obj.sex='李四';
        obj.say=function(){
            console.log('你访问说话的方法')
        }
         // 访问成员属性
        //console.log(obj.name);
        // 访问成员方法
        //obj.say();

        // 2.直接定义对象
        var Obj={
            name:'zhangsan',
            sex:'男',
            age:18,
            say:function(){
                console.log('你吃了吗');
            }
        };
        // 访问成员属性
        //console.log(Obj.name);
        // 访问成员方法
        //Obj.say()

        // 给Obj对象添加新的成员属性
        //Obj.length="180cm";
        //console.log(Obj.length)

        // 3.通过构造函数来去自定义对象
        function pen(name,sex){
            // this 代表当前的对象
            this.name=name;
            this.sex=sex;
            this.say=function(){
                console.log(this)
            }
        }
        // 实例化对象
        var zhangsan= new pen('zhangsan','男');
        console.log(zhangsan.name);
        zhangsan.say();
        // 实例化新的李四对象
        var lisi=new pen('lisi','nan');
        lisi.say();

        console.log(this);

        for(i in zhangsan){
            console.log(zhangsan[i])
        }
        console.log(zhangsan.constructor)
        var arr=['1','2','3']
        console.log(arr.constructor)
    </script>
</body>
</html>

this关键字

this单词本身就是  这个 的意思
在对象的方法中使用,代表着当前这个对象
意味着当对象调用这个方法时,方法中的this就代表着这个对象

遍历

for(var i in window){
    document.write(i+”----”+window[i]);
}
这种语句可以遍历对象中的所有属性或数组中的所有元素。

关于类型

测试类型:
1.typeof()  //global对象的其中一个方法,typeof()
2.对象.constructor; //查看当前对象的构造函数是谁

if(arr.constructor==Array){
    alert("数组"); //数组推荐用这种方法,因为typeof得到是object
}

js数组

数组就是一组数据的集合,javascript中,数组里面的数据可以是不同类型的。

定义数组的方法

//对象的实例创建
var aList = new Array(1,2,3);

//直接量创建
var aList2 = [1,2,3,'asd'];

操作数组中数据的方法
1、获取数组的长度:aList.length;

var aList = [1,2,3,4];
alert(aList.length); // 弹出4

2、用下标操作数组的某个数据:aList[0];

var aList = [1,2,3,4];
alert(aList[0]); // 弹出1

3、push() 和 pop() 从数组最后增加成员或删除成员

var aList = [1,2,3,4];
aList.push(5);
alert(aList); //弹出1,2,3,4,5
aList.pop();
alert(aList); // 弹出1,2,3,4

4、unshift()和 shift() 从数组前面增加成员或删除成员

var aList = [1,2,3,4];
aList.unshift(5);
alert(aList); //弹出5,1,2,3,4
aList.shift();
alert(aList); // 弹出1,2,3,4

5、splice() 在数组中增加或删除成员

var aList = [1,2,3,4];
aList.splice(2,1,7,8,9); //从第2个元素开始,删除1个元素,然后在此位置增加'7,8,9'三个元素
alert(aList); //弹出 1,2,7,8,9,4

多维数组
多维数组指的是数组的成员也是数组的数组。

var aList = [[1,2,3],['a','b','c']];

alert(aList[0][1]); //弹出2;
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>数组</title>
</head>
<body>
<script>
    // 1.定义一个数组
    var arr= new Array(1,2,3);
    console.log(arr);
    var arr1=['1',2,4,5];
    console.log(arr1);

    // 数组操作 获取数组的长度arr.length()
    console.log(arr1.length);
    // 获取数组索引为1的元素
    console.log(arr1[1])
    // 修改arr1数组当中索引为1的元素
    arr1[1]=10;
    console.log(arr1);

    // 给数组的最后添加元素 push
    arr1.push(6,7);
    console.log(arr1);
    // 删除数组当中的最后一个元素 pop
    arr1.pop();
    arr1.pop();
    console.log(arr1)

    // 从数组的前面增加元素 unshift()
    arr1.unshift(0,1);
    console.log(arr1);
    // 从数组的前面删除一个元素 shift() 删除数组当中的第一个元素
    arr1.shift(1)
    console.log(arr1);

    // 增加或者删除数组中的元素 splice() 替换
        // 如果只有一个参数  那就是从指定个元素之后开始删除所有剩下的原素
        // 如果传了两个参数 那就是从指定个元素之后删除几个元素  第二个参数是指定删除的个数
        // 第三个参数  是用来替换删除之后的元素
        // 第三个参数之后的所有参数都是用来替换删除的元素的
    arr1.splice(1,2,9,19,11,12);
    console.log(arr1)

    // 多维数组
    var arr2=[1,2,3,['1','2'],['a','b','c']]
    console.log(arr2[3][0])


</script>
</body>
</html>

js数学对象Math

//四舍五入
var res = Math.round(5.921);

//获取最大值
var res = Math.max(10,23,523,43,65,46,32,32);

//获取最小值
var res = Math.min(12312,324,32,42,3,23,412,4332,21,3,-1);

//获取绝对值
var res = Math.abs(-100);

//退一取整
var res = Math.floor(1.9);

//进一取整
var res = Math.ceil(1.1);

//幂运算 用来获取x的y次方 2的3次方
var res = Math.pow(2,3);

//开方运算 返回一个数的平方根
var res = Math.sqrt(9);

random() 返回 0 ~ 1 之间的随机数。

random 返回 0 ~ 1 之间的随机数。

random 获取一个随机数 返回0-1之间的随机小数 有可能到0 ,但是不会取到1

//封装函数() 
function rand(m,n){
    return Math.floor(Math.random()*(n-m+1))+m;
}
var res = rand(20,30);
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>随机数</title>
</head>
<body>
<script>
    // 取0-1之间的随机数  但是永远取不到0
    var res=Math.random();
    console.log(res);

    // 取0-10之间的随机数
    var res1=Math.random()*10;
    // 取0-10之间的随机整数
    var res2=Math.floor(Math.random()*11);
    console.log(res2);
    // 取指数之间的随机整数 10-20
   // (10-5+1)  (10-5)
    var res3=Math.floor(Math.random()*6)+5;
    console.log(res3);

    function rund(m,n){
        return Math.floor(Math.random()*(n-m+1))+(n-m)
    }
    var res4=rund(10,20);
    console.log(res4);
</script>
</body>
</html>
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值