js原生复习2.0

// 1.闭包的作用// 实现共有变量,函数累加器的实现// 可以做缓存以及储存结构// 可以实现封装,实现属性私有化// 模块开发,防止全局污染// var name = 123;// var int = (function () {//   var name = 456;//   function inte() {//       console.log(name);////   }//   return inte();// }());// 2.递归实现n的阶乘,递归最重要的是找到规律以及出口;// function mul(n) {//     if (n === 1){//         return 1//     }//     return n * mul(n - 1);//// }//// console.log(mul(7));// 3.argument.callee的使用说明// 当这个函数名称未知时,可以通过此方法来调用自身// var num = (function (n) {//     if (n ===1){//         return 1//     }//     return n * arguments.callee(n - 1);//// }(10));// console.log(num);// 4.hasOwnProperty可以判断一个对象是否有名称的属性或对象,如果该属性// 方法是该对象自己定义的而不是原型链中定义的则返回true,否则返回false// 5.斐波那契数列,使用递归的方法来写// function fb(n) {//     if (n === 1 || n ===2){//         return 1//     }//     return fb(n - 1) + fb(n - 2);//// }// 6.浮动元素与浮动流// 所有的产生了浮动流的元素,块级元素都看不到// 产生了bfc的元素和文本类属性的元素以及文本都能看得到浮动元素// 7.浅层克隆// var obj = {//     name : "liu",//     age : 15,//     sex : "mal"// };// var obj1 = {};// function clone(origin, target) {//     for (var prop in origin){//         target[prop] = origin[prop];//     }//// }// clone(obj, obj1)// 8.闭包// 当内部函数被保存到外部时,将会生成闭包。闭包会导致原有作用域链// 不被释放,,可以使用立即执行函数来解决闭包问题;// 9.方法的借用// function Person(name, age, sex) {//     this.name = name;//     this.age = age;//     this.sex = sex;//// }// function Students(name, age, sex) {//     Person.call(this, name, age, sex)// }// var students = new Students("LIU", 16, "mal")// 10.数组的常用方法// 会改变原数组:push  pop shift unshift sort reverse splice// 不会改变原数组:concat, join——split , tostring, slice// 11.完整的圣杯模式// function Father() {//// }// function Son() {//// }// function inherit(Target, Origin) {//     function F() {}//     F.prototype = Origin.prototype;//     Target.prototype = new F();//     Target.prototype.constructor = Target;//// }// inherit(Son, Father);// var son = new Son();// var father = new Father();

原文地址:https://www.cnblogs.com/vvbk/p/10805231.html

时间: 2024-11-05 19:42:26

js原生复习2.0的相关文章

认识JQuery,JQuery的优势、语法、多库冲突、JS原生对象和JQuery对象之间相互转换和DOM操作,常用的方法

(一)认识JQuery  JQuery是一个JavaScript库,它通过封装原生的JavaScript函数得到一套定义好的方法    JQuery的主旨:以更少的代码,实现更多的功能 (二)JQuery的优势 1)可以像CSS一样访问和操作DOM 2)修改CSS控制页面外观 3)简化JS代码操作 4)事件代理更加容易 5)动画效果使用方便 6) Ajax技术更加完美 7)大量的基于Jquery的插件 8)可以自定义扩展功能插件 (三)JQuery的语法 格式:$(selector).actio

图片轮播(左右切换)--js原生和jquery实现

图片轮播(左右切换)--js原生和jquery实现 左右切换的做法基本步骤跟 上一篇文章  淡入淡出 类似,只不过修改了一些特定的部分 (1)首先是页面的结构部分 对于我这种左右切换式 1.首先是个外围部分(其实也就是最外边的整体wrapper) 2.接着就是你设置图片轮播的地方(也就是一个banner吧) 3.然后是一个图片组(可以用新的div 也可以直接使用 ul-->li形式) 4.然后是图片两端的左箭头和右箭头5.然后是一个透明背景层,放在图片底部 6.然后是一个图片描述info层,放在

JS原生实现视频弹幕Demo(仿)

<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <title>Js原生弹幕</title> <link rel="stylesheet" href=""&

JS(原生)事件委托:为动态创建的节点绑定事件

项目开发中经常需要为动态创建的节点绑定事件, 比如需要创建一个动态列表:在li的数量非常少的时候,为每一个li绑定事件不会存在太多性能方面的问题,但是当列表非常的长,长到上百上千甚至上万的时候(假设),为每个li绑定事件就会对页面性能产生很大的影响.当有大量元素需要绑定相同事件的时候可采用事件委托,将在目标元素上要处理的事件委托给父元素或者祖先元素 优点    事件委托对于web应用程序的性能有如下几个优点:    1.需要管理的函数变少了    2.占用的内存少了    3.javascrip

一步步教你js原生瀑布流效果实现

一步步教你js原生瀑布流效果实现 什么是瀑布流效果 首先,让我们先看一段动画: 在动画中,我们不难发现,这个动画有以下特点: 1.所有的图片的宽度都是一样的 2.所有的图片的高度是不一样的 3.图片一张挨着一张竖直排列 4.鼠标向下滚动,一直不停的加载图片 5.浏览器的宽度改变,图片的列数会进行相应的更改 那么这种效果类似现实生活中的瀑布,所以我们叫它瀑布流的效果. Js原生瀑布流效果的实现 从上述分析中,我们可以把整个效果分为以下四个部分: html+css界面搭建 瀑布流效果 浏览器向下滚动

JS原生轮播图

哈喽!我的朋友们,最近有一个新项目.所以一直没更新!有没有想我啊!! 今天咱们来说一下JS原生轮播图! 话不多说: 直接来代码吧:下面是CSS部分: 1 *{ 2 padding: 0px; 3 margin: 0px; 4 } 5 img{ 6 width: 500px; 7 height: 300px; 8 } 9 li{ 10 float: left; 11 } 12 ul{ 13 width: 2000px; 14 list-style: none; 15 position: absol

js原生 + jQuery实现页面滚动字幕

js原生/jQuery实现页面滚动字幕效果 17:45:49 在新闻列表或者文章列表信息等页面中很容易要求实现字幕滚动的效果,以下为简单的实现页面中滚动字幕的效果 1.jQuery实现页面滚动字幕效果 代码如下: <div class="box"> <ul class="list"> <li>这是滚动加载的第1条数据</li> <li>你猜猜这是第几条滚动加载的文字</li> <li>

使用jQuery.makeArray() 将多种类型转换成JS原生Array

jQuery.makeArray(obj)这个函数从名字上来看很容易猜出它的用途:应该是用来将传入的对象转换成一个原生array 再看看官网上对它的解释:Convert an array-like object into a true JavaScript array.(将一个类似数组对象转换为JS原生的数组) 那么怎么样的object才可以称为"array-like object"呢?这个问题不急着回答,相信看完文章你会明白的,先看看下面的实验 将HTMLCollection转换成原

手动封装js原生XMLHttprequest异步请求

Code Object.extend =function(targetObj,fnJson){ //扩展方法,类似于jQuery的$.extend,可以扩展类的方法,也可以合并对象 for(var fnName in fnJson){ targetObj[fnName]=fnJson[fnName]; } return targetObj; }; HttpAjax = (function(){ function HttpAjax(options){ var settings={ type:'po