JS基础知识杂项

本文详细介绍了JavaScript中的三种面向对象编程方式:使用标准类法、构造函数法及直接使用JSON对象的方法。同时,还探讨了类方法、对象方法及原型方法的区别,并解释了如何通过原型链实现继承。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

JS面向对象:

    1, Object标准类法

var OBJ = {
    name: '程序员',
    
    hi: function(){
        console.log('hello world');
    },
};

var obj = new Object(OBJ);
或者
var obj = Object.create(OBJ);

## 该法OBJ类为对象实现
## 无法使用prototype实现实例间的共享
## OBJ类中属性被所有类实例共享,无法实现实例的私有属性

 

    2, 构造函数法

function OBJ(name){
   this.name = name;
   
   this.hi = function(){
       console.log('hello world');
   };
}
OBJ.prototype.sex = 'male';

var obj = new OBJ('程序员');

## 该法OBJ类为function实现
## 可通过prototype实现实例间的共享
## 类中this下注册的属性对每个类实例私有

3,跳过类,直接JSON对象

var obj = {
    title: 'Welcom',
    
    do: function(){},
}

obj.do();

## 没有声明类,直接定义一次性对象并调用
## obj对象不存在prototype原型

 

JS方法分三类:

  1. 类方法,直接注册在类上,只能通过类名调用

  2. 对象方法, 注册在function类的this空间,只能通过类实例调用

  3. 原型方法,注册在function类的prototype上,只能通过类实例调用, 并被所有实例共享

 

JS原型继承

## A类克隆B类的所有方法属性
A.prototype = new B();  #必须是将一个类实例赋值给prototype,不能将类名赋值给原型

 

原型链搜索时优先当前类,其次再回溯到prototype

 

上下文切换

func.call(context, arg1, arg2, ...);

func.apply(context, arg_array);

 

窗口滑动到指定元素

$(document).scrollTop($(target).offset().top);

 

禁用IE兼容性视图

<meta http-equiv="X-UA-Compatible" content="IE=Edge,chrome=1">

 

强制360浏览器使用极速模式(webkit),而不用兼容模式

<meta name="renderer" content="webkit">

 

转载于:https://my.oschina.net/u/2400083/blog/525183

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值