当前位置: 网站首页>小程序开发>网站开发

兰考小程序制作【兰考企业邮箱】兰考网站外包、兰考微信商城开发、兰考网店美工、兰考淘宝设计

发表日期: 2021-05-07 11:13:38 浏览次数:98

兰考小程序制作【兰考企业邮箱】兰考网站外包、兰考微信商城开发、兰考网店美工、兰考淘宝设计


兰考,河南省开封市下辖县 [1-2]  ,河南省直管县 [2]  ,位于九曲黄河最后一道弯 [3]  ,总面积1116平方公里 ,总人口85.91万人。 [4]  是河南省“一极两圈三层”中“半小时交通圈”的重要组成部分。 [5]  兰考县在春秋时为户牖邑,秦朝于县北置济阳县是兰考建县之始。公元前5年,汉光武帝刘秀生于县北济阳宫。 [6-7]  9年,改东昏县为东明县。1218年,东明县城被废为通安堡,新县城迁至黄河之北冤句县旧地。1232年,以黄河之南地析置为兰阳县、仪封县两县。1783年3月,考城县县城首次迁至兰考县境内。1825年,仪封县并入兰阳县,称兰仪县,仪封以乡隶之。1909年,为避溥仪帝讳,改兰仪县为兰封县。1954年6月,兰封县与考城县西部合并,以二县首字为名,称兰考县。 [6] 

陇海铁路、郑徐高铁穿境而过设兰考站、兰考南站,兰考至菏泽菏兰城际铁路、兰考至菏泽至青岛董家口港铁路、兰考至开封郑开兰城际铁路等即将开工建设。国道G220、G310、G106在县城交汇,连霍高速公路、日南高速公路、兰焦高速公路(规划)在境内交叉而过。距离新郑机场仅1小时,距离连云港仅4小时。 [5] 

兰考是泡桐之乡 [5]  、国家园林县城 、国家卫生县城 [8]  、全国文明城市提名城市 [9]  、省级生态县、全国双拥模范县、国家新型城镇化试点县 [10]  、首批国家级生态保护与建设示范区、全国社会信用体系建设综合性示范试点县 [11]  、全国首个普惠金融改革试验区 [12]  、省级可持续发展实验区 [13]  、河南改革发展和加强党的建设综合试验示范县、2019年全国村庄清洁行动先进县 [14-15]  、县城新型城镇化建设示范县。 [16] 


38-简单实现 Node 的 Events 模块

简介:观察者模式或者说订阅模式,它定义了对象间的一种一对多的关系,让多个观察者对象同时监听某一个主题对象,当一个对象发生改变时,所有依赖于它的对象都将得到通知。


node 中的Events 模块就是通过观察者模式来实现的:


var events=require('events');

var eventEmitter=new events.EventEmitter(); 

eventEmitter.on('say',function(name){ 

  console.log('Hello',name);

})


eventEmitter.emit('say','Jony yu');


这样,eventEmitter 发出say 事件,通过On 接收,并且输出结果,这就是一个订阅模式的实现,下面我们来简单的实现一个 Events 模块的EventEmitter。


(1)实现简单的Event 模块的 emit 和on 方法


function Events(){ 

  this.on=function(eventName,callBack){ 

    if(!this.handles){

this.handles={};

}

if(!this.handles[eventName]){ 

      this.handles[eventName]=[];

}

this.handles[eventName].push(callBack);

}

  

this.emit=function(eventName,obj){ 

    if(this.handles[eventName]){

for(var i=0;o<this.handles[eventName].length;i++){ 

        this.handles[eventName][i](obj);

}

}

}

return this;

}


这样我们就定义了Events,现在我们可以开始来调用:


var events=new Events(); 

events.on('say',function(name){ 

  console.log('Hello',nama)

});

events.emit('say','Jony yu');


//结果就是通过emit 调用之后,输出了 Jony yu (2)每个对象是独立的

因为是通过new 的方式,每次生成的对象都是不相同的,因此:


var event1=new Events(); 

var event2=new Events(); 

event1.on('say',function(){ 

  console.log('Jony event1');

});

event2.on('say',function(){ 

  console.log('Jony event2');

})


event1.emit('say');

event2.emit('say');

//event1、event2 之间的事件监听互相不影响

//输出结果为'Jony event1' 'Jony event2'


39-箭头函数中 this 指向举例

var a=11; 


function test2(){ 

  this.a=22;

let b=()=>{

    console.log(this.a);

  };

  b();

}


var x=new test2();

//输出 22


定义时绑定


40-JS 判断类型

判断方法:typeof(),instanceof,Object.prototype.toString.call()等


41-数组常用方法

push(),pop(),shift(),unshift(),splice(),sort(),reverse(),map()等


42-数组去重

1、indexOf 循环去重

2、ES6 Set 去重;Array.from(new Set(array))

3、Object 键值对去重;把数组的值存成 Object 的 key 值,比如 Object[value1] = true, 在判断另一个值的时候,如果 Object[value2]存在的话,就说明该值是重复的。


43-闭包 有什么用

(1)什么是闭包:


闭包是指有权访问另外一个函数作用域中的变量的函数。


闭包就是函数的局部变量集合,只是这些局部变量在函数返回后会继续存在。


闭包就是就是函数的“堆栈”在函数返回后并不释放,我们也可以理解为这些函数堆栈并不在栈上分配而是在堆上分配。


当在一个函数内定义另外一个函数就会产生闭包。


(2)为什么要用:


匿名自执行函数:我们知道所有的变量,如果不加上var 关键字,则默认的会添加到全局对象的属性上去,这样的临时变量加入全局对象有很多坏处,比如:别的函数可能误用这些变量;造成全局对象过于庞大,影响访问速度(因为变量的取值是需要从原型链上遍历的)。


除了每次使用变量都是用 var 关键字外,我们在实际情况下经常遇到这样一种情况,即有的函数只需要执行一次,其内部变量无需维护,可以用闭包。


结果缓存:我们开发中会碰到很多情况,设想我们有一个处理过程很耗时的函数对象, 每次调用都会花费很长时间,那么我们就需要将计算出来的值存储起来,当调用这个函数的时候,首先在缓存中查找,如果找不到,则进行计算,然后更新缓存并返回值,如果找到了,直接返回查找到的值即可。


闭包正是可以做到这一点,因为它不会释放外部的引用,从而函数内部的值可以得以保留。


封装:实现类和继承等。


44-事件代理在捕获阶段的实际应用

可以在父元素层面阻止事件向子元素传播,也可代替子元素执行某些操作。


45-去除字符串首尾空格

使用正则(^\s*)|(\s*$)即可


46-性能优化

1、减少HTTP 请求

2、使用内容发布网络(CDN) 添加本地缓存

3、压缩资源文件

4、将CSS 样式表放在顶部,把javascript 放在底部(浏览器的运行机制决定) 避免使用CSS 表达式

5、减少DNS 查询

6、使用外部javascript 和CSS 避免重定向

7、图片lazyLoad


47-能来讲讲 JS 的语言特性吗

运行在客户端浏览器上;


不用预编译,直接解析执行代码; 是弱类型语言,较为灵活;


与操作系统无关,跨平台的语言; 脚本语言、解释性语言


48-如何判断一个数组(讲到 typeof 差点掉坑里)

Object.prototype.call.toString() instanceof


49-你说到 typeof,能不能加一个限制条件达到判断条件

typeof 只能判断是object,可以判断一下是否拥有数组的方法


50-JS 实现跨域

JSONP:通过动态创建script,再请求一个带参网址实现跨域通信。


document.domain + iframe 跨域:两个页面都通过 js 强制设置document.domain 为基础主域,就实现了同域。


location.hash + iframe 跨域:a 欲与b 跨域相互通信,通过中间页 c 来实现。 三个页面, 不同域之间利用 iframe 的location.hash 传值,相同域之间直接 js 访问来通信。


window.name + iframe 跨域:通过iframe 的src 属性由外域转向本地域,跨域数据即由iframe 的window.name 从外域传递到本地域。


postMessage 跨域:可以跨域操作的window 属性之一。


CORS:服务端设置Access-Control-Allow-Origin 即可,前端无须设置,若要带 cookie 请求,前后端都需要设置。


代理跨域:启一个代理服务器,实现数据的转发

微信图片_20210425092605.jpg

兰考小程序制作兰考企业邮箱兰考网站外包、兰考微信商城开发、兰考网店美工、兰考淘宝设计

400-111-6878
服务热线
顶部

备案号: 苏ICP备11067224号

CopyRight © 2011 书生商友信息科技 All Right Reserved

24小时服务热线:400-111-6878   E-MAIL:1120768800@qq.com   QQ:1120768800

  网址: https://www.768800.com  网站建设上往建站

关键词: 网站建设| 域名邮箱| 服务器空间| 网站推广| 上往建站| 网站制作| 网站设计| 域名注册| 网络营销| 网站维护|

企业邮箱| 虚拟主机| 网络建站| 网站服务| 网页设计| 网店美工设计| 网站定制| 企业建站| 网站设计制作| 网页制作公司|

400电话办理| 书生商友软件| 葬花网| 调温纤维| 海洋馆运营维护| 北京保安公司| 殡仪馆服务| 殡葬服务| 昌平殡葬| 朝阳殡葬|

预约专家

欢迎您免费咨询,请填写以下信息,我们收到后会尽快与您联系

  

服务热线:400-111-6878