今日js知识点概要

对象

万物皆对象

例: 一只猫是一个对象,它名叫"大橘",年龄2岁,体重20斤,口号是"大橘为重"..

如果用JavaScript表示如下:

对象字面量创建对象

var cat = {
    name: "大橘",
    age: 2,
    weight: "20斤"
    kouHao: function () {
        console.log("大橘为重")
    }
}

还有三种表示方法

new Object()创建对象

var person = new Object();  
    person.name = '大橘';  
    person.age = 2;  
    person.weight= '20斤';  
    person.kouHao= function(){  
        console.log('大橘为重');
    }

工厂函数创建对象

function createPerson(name, age, weight) {
  var person = new Object();
  person.name = name;
  person.age = age;
  person.weight= weight;
  person.kouHao= function(){
    console.log('大橘为重');
  }
  return person;
}
var cat = createPerson('大橘', 2, '20斤');

自定义构造函数

function Person(name,age,weight){  
    this.name = name;  
    this.age = age;  
    this.weight= weight;  
    this.kouHao= function(){    
        console.log('大橘为重');  
    }
}
var cat = new Person('大橘', 2, '20斤');

new关键字的创建过程

new的作用
1.创建一个新的空对象  类似于 new Object();
2.会让this指向这个新的对象(因为这个对象暂时还没有名字,可以用this表示这个对象)
3.给新对象加属性和方法 this.name  this.eat=function(){}
4.返回创建好好的对象.

this关键字的作用

// this 就是中文---它或者这个-----的意思.
//  this可能表示的情况
    1.表示window对象
    2.表示当前的方法
    3.当前对象,谁调用,就是谁

函数中 -- this 指向Window
在方法中 -- this 指向的是这个方法所属的对象
构造函数中 -- this 就是构造函数创建的对象(没有new过对象的函数,就是构造函数)
总结其实this就是指向函数的调用者

遍历对象

使用json格式创建对象

var json = {
        "name": "大橘",
        "age": "12",
        "weight": "20斤",
    }

使用for in语法遍历一个对象

 for (var key in json){
      console.log(key + "======" + json[key]);
      // console.log(json.key); //生成新属性
 }

数据类型内存中的存储

数据类型分为值类型和引用数据类型

操作系统内分为堆和栈

值数据类型存储在栈里,传值是会把值复制给另一个值

引用数据类型会在堆开辟一块空间存储,地址存在栈中并指向堆

内置对象

JavaScript中的对象分为3种:内置对象、浏览器对象、自定义对象

内置对象有Math对象,Date对象,Array对象等等

Math对象

Math.PI // 圆周率

Math.random() // 生成随机数

Math.floor()/Math.ceil() // 向下取整/向上取整

Math.round() // 取整,四舍五入

Math.abs() // 绝对值

Math.max()/Math.min() // 求最大和最小值

Math.sin()/Math.cos() // 正弦/余弦

Math.power()/Math.sqrt() // 求指数次幂/求平方根

这里列举一个求随机数的方法:

//函数功能:生成[min,max]的随机整数。
function randomNum(min,max){
    //两种方式选其一
    //parseInt(Math.random()*(max-min+1)+min,10);
    Math.floor(Math.random()*(max-min+1)+min);
}

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值