博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
面向对象的JS随笔
阅读量:5239 次
发布时间:2019-06-14

本文共 1289 字,大约阅读时间需要 4 分钟。

Scoping 全局与局部

全局变量可用在所有环境中,局部变量只可用在局部
js中连接变量至一个从未声明的变量,后面的变量自动提升成一个全局变量(不要这样用,不易阅读)
只有function(){中才算局部}
 
var makearray=fuction(){
    return[];
};
var array1=makearray();
var array2=makearray();
log(array1===array2);     //will return false.
 
closures 闭包
 
Retaining Access to Functions
1passing to settimeout
2returing function from new  fuction
3saving  function to a global var
 
将function object 存入array,并且在调用的时候function运行的scope始终在定义的那一层(closure),并且两者互不干扰
var sagas=[];//function外
sagas.push(function(){...}); // function内
 
关键字this
function使用this时,this代表调用它的那个元素
function(name1,name2){name1,name2为function内的两个临时变量,调用时赋值}
当原素没有任何属性可用来调用this时,可以使用.call()将this绑定到元素object上
SetTimeOut(fn,1000)定时器  如果这个定时fn没有输入的话 可能会输出undefined
只有在settimeout这个fn里面,调用fn的那一行里绑定原素,this才能够被绑定
SetTimeOut(object.fn,1000)是无法将this绑定到object上的
比较好的使用方法是重新写一个fn  如settimeout(function(){ r.method(g.b)},1000)
使用 new做前缀  系统会自动生成一个新的对象
 
 
Prototype Chains 原型链
var blue = extend({},gold); 初始时拷贝gold的属性,只执行一次 (blue 只有1层 gold值不更新)
var rose = Object。create(gold);传递gold的属性,先从rose中寻找属性没有再向上一级查找 (gold--》rose 2层 gold值更新)
所有的原型汇总到一个,然而array有一个大的分支,所以原型分为object和array
 
code reuse代码的重复利用
利用obj作为对象代替this(closure方法)减少内存,提高性能()
批量初始化对象,利用function功能封装属性
重复功能写成function,然后做成属性调用
 
构造函数functional classes

转载于:https://www.cnblogs.com/lewayjack/p/6742670.html

你可能感兴趣的文章
如何优雅的实现INotifyPropertyChanged接口
查看>>
.NET Core IdentityServer4实战 第二章-OpenID Connect添加用户认证
查看>>
win10 uwp 使用 msbuild 命令行编译 UWP 程序
查看>>
解剖SQLSERVER 第十四篇 Vardecimals 存储格式揭秘(译)
查看>>
Chapter 1 Securing Your Server and Network(2):管理服务的SIDs
查看>>
2000条你应知的WPF小姿势 基础篇<51-56 依赖属性>
查看>>
[Head First设计模式]一个人的平安夜——单例模式
查看>>
SQL Server 大数据搬迁之文件组备份还原实战
查看>>
HTML5实现图片文件异步上传
查看>>
Eclipse 4.2 汉化
查看>>
Zerver是一个C#开发的Nginx+PHP+Mysql+memcached+redis绿色集成开发环境
查看>>
网络时间获取
查看>>
多线程实现资源共享的问题学习与总结
查看>>
Code as IaaS for Azure : Terraform 初步
查看>>
WebFrom 小程序【分页功能 】
查看>>
Learning-Python【26】:反射及内置方法
查看>>
day7--面向对象进阶(内含反射和item系列)
查看>>
Python深入01 特殊方法与多范式
查看>>
torch教程[1]用numpy实现三层全连接神经网络
查看>>
java实现哈弗曼树
查看>>