网上一大堆资料,写的很官方。 对于一年左右的刚刚踏入职场的同学来说(没有进入培训机构或外包或大项目做过) 一般上还是比较难懂。 比如我,当初,实习了大半年。还不怎么会写。
今天比较有空,看到一个写的还是比较优雅的protoTyoe。 有感而发。 、
首先闭包,就是不让它被其他js污染。 因为耦合。 在比较复杂的项目中。 代码耦合就会比较严重,有些项目耦合到你无法着手去处理。 这就是有些项目无法做下去的原因。很多Q群的同学说,我要跑路。就是这个原因。没干死代码,反倒被代码干死。
再说说prototype 。有了这个就可以说继承,封装。设计模式中工厂模式,巴拉巴拉一大堆。 但是这个不讲。要收费。 女的可以不收。
为什么要用prototype 首先我们来看一段代码
var Person = function(name,age){
//指定该类的属性为参数值
this.name = name;
this.age = age;
//为该类指定一个talk方法
this.talk = function(){
alert("talk");
};
};
对了忘了讲,公共方法和prototype 有什么区别 。 1 公共的方法,很多童鞋在项目中会引用一个js 名:或者public,或comon
。 公共方法实时要改。 比如你项目中要计算某个 小数点要保留两位。 比如你想把某个函数 (时间处理函数)。 url 处理函数放入里边。 对不对。
但是你这很繁琐。 这就是要有一个方法去处理它 你不能老是改这个公共方法的js吧?
prototyP我们用这个方法的时候,脑中要有一个类的概念。 什么叫类。 一种动物, 一种植物。 这就是类。 狗,猫。 这就是具体的。
比如刚刚的那段函数。 talk个方法,我用到小明或张三的身上是可以公用。 小明或张三他是一个人, 而刚刚的那个方法是声明人的方法。 java,php 那些后台的人员也可以称之为抽象类的. 但是前台没有这个
给你们一个闭包和protoType的例子。 一年左右的同学们。 可能你们还是有点不懂,建议你们看完这个例子。 再去用写Vue. ang 。为什么有些招聘人员 写着要用vue 或者ang . 便捷?开发速度快么? 是一个原因。 但是我们做前端一定要知其所以然
var BluetoothTool = (function() {
function BluetoothTool() {
var BluetoothAdapter = plus.android.importClass("android.bluetooth.BluetoothAdapter");
this.mAdapter = BluetoothAdapter.getDefaultAdapter();
this.BluetoothAdapter = BluetoothAdapter;
this.BTSocket = null;
}
/**
* 是否支持蓝牙
* @return {boolean}
*/
BluetoothTool.prototype.isSupportBluetooth = function() {
var mAdapter = this.mAdapter;
if(mAdapter != null) {
return true;
}
return false;
}
/**
* 获取蓝牙的状态
* @return {boolean} 是否已开启
*/
BluetoothTool.prototype.getBluetoothStatus = function() {
var mAdapter = this.mAdapter;
if(mAdapter != null) {
return mAdapter.isEnabled();
}
return false;
}
})