您的位置:首页 > Web前端 > JavaScript

JS基础知识杂项

2015-11-03 00:00 633 查看
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方法分三类:

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

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

原型方法,注册在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">
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  js 原型