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

兰考400电话办理【兰考网站公司】兰考百度优化、兰考域名注册、兰考网店美工、兰考微信公众号托管

发表日期: 2021-05-07 11:10:07 浏览次数:95

兰考400电话办理【兰考网站公司】兰考百度优化、兰考域名注册、兰考网店美工、兰考微信公众号托管


兰考,河南省开封市下辖县 [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] 


19-eval 是做什么的

它的功能是将对应的字符串解析成 JS 并执行,应该避免使用 JS


因为非常消耗性能(2 次,一次解析成 JS,一次执行)


20-如何理解前端模块化

前端模块化就是复杂的文件编程一个一个独立的模块,比如JS 文件等等


分成独立的模块有利于重用(复用性)和维护(版本迭代)


这样会引来模块之间相互依赖的问题, 所以有了commonJS 规范,AMD,CMD 规范等等


以及用于 JS 打包(编译等处理)的工具 webpack


21-说一下 CommonJS、AMD 和 CMD

一个模块是能实现特定功能的文件,有了模块就可以方便的使用别人的代码,想要什么功能就能加载什么模块。


CommonJS:开始于服务器端的模块化,同步定义的模块化,每个模块都是一个单独的作用域,模块输出,


modules.exports,模块加载require()引入模块。


AMD:中文名异步模块定义的意思。


requireJS 实现了 AMD 规范,主要用于解决下述两个问题。


1.多个文件有依赖关系,被依赖的文件需要早于依赖它的文件加载到浏览器


2.加载的时候浏览器会停止页面渲染,加载文件越多,页面失去响应的时间越长。语法:requireJS 定义了一个函数define,它是全局变量,用来定义模块。


requireJS 的例子:


//定义模块 

define(['dependency'], function(){ 

  var name = 'Byron';

  function printName(){ 

    console.log(name);

  }

  return {

  printName: printName

  };

});


//加载模块

require(['myModule'], function (my){ 

  my.printName();

});


RequireJS 定义了一个函数 define,它是全局变量,用来定义模块: define(id?dependencies?,factory)


在页面上使用模块加载函数: require([dependencies],factory);


总结AMD 规范:require()函数在加载依赖函数的时候是异步加载的,这样浏览器不会失去响应,它指定的回调函数,只有前面的模块加载成功,才会去执行。


因为网页在加载 JS 的时候会停止渲染,因此我们可以通过异步的方式去加载JS,而如果需要依赖某些,也是异步去依赖,依赖后再执行某些方法。


22-对象深度克隆的简单实现

function deepClone(obj){

  var newObj= obj instanceof Array ? []:{}; 

  for(var item in obj){

  var temple= typeof obj[item] == 'object' ? deepClone(obj[item]):obj[item]; newObj[item] = temple;

}

return newObj;

}


ES5 的常用的对象克隆的一种方式。注意数组是对象,但是跟对象又有一定区别,所以我们一开始判断了一些类型,决定 newObj 是对象还是数组。


23-实现一个 once 函数,传入函数参数只执行一次

function ones(func){ 

  var tag=true;

  return function(){ 

    if(tag==true){ 

      func.apply(null,arguments); 

      tag=false;

  }

  return undefined

  }

}


24-将原生的 ajax 封装成 promise

var myNewAjax=function(url){

  return new Promise(function(resolve,reject){ 

    var xhr = new XMLHttpRequest(); 

    xhr.open('get',url);

xhr.send(data); 

    xhr.onreadystatechange=function(){

      if(xhr.status==200&&readyState==4){ 

        var json=JSON.parse(xhr.responseText); 

        resolve(json)

}else if(xhr.readyState==4&&xhr.status!=200){ 

        reject('error');

}

}

});

};


25-JS 监听对象属性的改变

我们假设这里有一个user 对象,

1、在ES5 中可以通过Object.defineProperty 来实现已有属性的监听


Object.defineProperty(user,'name',{ 

  set:function(key,value){ }

})

1

2

3

缺点:如果id 不在user 对象中,则不能监听 id 的变化(2)在ES6 中可以通过Proxy 来实现


var user = new Proxy({}, { 

set:function(target,key,value,receiver){  }

})


这样即使有属性在user 中不存在,通过 user.id 来定义也同样可以这样监听这个属性的变化哦。


26-如何实现一个私有变量,用 getName 方法可以访问,不能直接访问

1、通过defineProperty 来实现


obj = { 

  name:yuxiaoliang, 

  getName:function(){ 

    return this.name

}

}


object.defineProperty(obj,"name",{

//不可枚举不可配置

});


2、通过函数的创建形式


function product(){

  var name='yuxiaoliang'; 

  this.getName=function(){ 

    return name;

}

}


var obj=new product();


27-和=、以及 Object.is 的区别

1、==


主要存在:强制转换成 number


null==undefined " "==0 //true


"0"==0 //true " " !="0" //true


123=="123" //true null==undefined //true 


2、Object.js

主要的区别就是 +0!=-0 而NaNNaN (相对比=和==的改进)


28-setTimeout、setInterval 和 requestAnimationFrame 之间的区别

这里有一篇文章讲的是 requestAnimationFrame: http://www.cnblogs.com/xiaohuochai/p/5777186.html


与setTimeout 和setInterval 不同,requestAnimationFrame 不需要设置时间间隔


大多数电脑显示器的刷新频率是 60Hz,大概相当于每秒钟重绘 60 次


大多数浏览器都会对重绘操作加以限制,不超过显示器的重绘频率,因为即使超过那个频率用户体验也不会有提升。


因此,最平滑动画的最佳循环间隔是 1000ms/60,约等于 16.6ms。


RAF 采用的是系统时间间隔,不会因为前面的任务,不会影响 RAF


但是如果前面的任务多的话,会响应setTimeout 和setInterval 真正运行时的时间间隔。


特点:

(1)requestAnimationFrame 会把每一帧中的所有 DOM 操作集中起来,在一次重绘或回流中就完成,并且重绘或回流的时间间隔紧紧跟随浏览器的刷新频率。

(2)在隐藏或不可见的元素中,requestAnimationFrame 将不会进行重绘或回流,这当然就意味着更少的 CPU、GPU 和内存使用量

(3)requestAnimationFrame 是由浏览器专门为动画提供的 API,在运行时浏览器会自动优化方法的调用,并且如果页面不是激活状态下的话,动画会自动暂停,有效节省了CPU 开销。


29-实现一个两列等高布局,讲讲思路

为了实现两列等高,可以给每列加上


padding-bottom:9999px;


margin-bottom:-9999px;


同时父元素设置 overflow:hidden;

微信图片_20210425092605.jpg

兰考400电话办理兰考网站公司兰考百度优化、兰考域名注册、兰考网店美工、兰考微信公众号托管

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