var

underscore.js源码解析(一)

落花浮王杯 提交于 2020-03-16 19:12:13
一直想针对一个框架的源码好好的学习一下编程思想和技巧,提高一下自己的水平,但是看过一些框架的源码,都感觉看的莫名其妙,看不太懂,最后找到这个underscore.js由于这个比较简短,一千多行,而且读起来容易一些,所以就决定是它了,那废话不多说开始我们的源码学习。 underscore.js源码GitHub地址: https://github.com/jashkenas/underscore/blob/master/underscore.js 本文解析的underscore.js版本是1.8.3 结构解析 我们先从整体的结构开始分析(其中加入了注释加以解释说明) 1 (function() { 2 // 创建一个root对象,在浏览器中表示为window(self)对象,在Node.js中表示global对象, 3 // 之所以用用self代替window是为了支持Web Worker 4 var root = typeof self == 'object' && self.self === self && self || 5 typeof global == 'object' && global.global === global && global || 6 this; 7 // 保存"_"(下划线变量)被覆盖之前的值 8 var previousUnderscore =

layui的父子页面通信

て烟熏妆下的殇ゞ 提交于 2020-03-16 18:28:47
父页面传data;data为对象 layer.open({ type: 2, shade: false, area: ['500px', '550px'], maxmin: true, content: './datamangementedit.html', success: function (layero) { var iframeWinm = window[layero.find('iframe')[0]['name']]; //得到iframe页的窗口对象,执行iframe页的方法 iframeWinm.GetName(data); //子页面执行GetName()即可获得数据data } }); //子页面执行Getname方法即可获取数据,但是存在子页面初始化在获取数据之前. function Getname(obj){ 获取到一个对象 } 方法2: layer.open({ type: 2, shade: false, area: ['500px', '550px'], content: './DataManageGetData.html?userid=' + escape(userid) + '&pid=' + escape(data1) //userid和data1即为传的参数 success: function (layero) {} }); /

js继承的封装

蹲街弑〆低调 提交于 2020-03-16 17:46:37
<script type="text/javascript"> function extend(source, target) { for(var key in source) { var value = source[key]; target[key] = value; } } // extend(source, target) var a = { gender: '男', grade: '初三', group: '第五组', name: '李白' }; var b = {}; extend(a, b); b.name = "杜甫"; console.log(b) var c = {}; extend(a, c) c.name = "苏轼"; console.log(c) // //es6语法 拷贝继承 var q = {name:'李白',age:"18"} var w = {...q} console.log(w) var w1 = {...q,age:'20'} console.log(w1) </script> 来源: https://www.cnblogs.com/520yh/p/12505073.html

js拷贝继承

混江龙づ霸主 提交于 2020-03-16 17:46:11
<script type="text/javascript"> var a = { "gender":'男', "grade":'初三', "group":'第五组', "name":'李白' }; var b = {};//创建一个空对象 for (var key in a) { // a[key];key值是a对象里面的每一个属性 // console.log(a[key]) var value = a[key];//把a对象里面的每一个属性存放在valu中 console.log(value) b[key] = value;//再把value赋值给b } b.name = "杜甫"; console.log(b) </script> 来源: https://www.cnblogs.com/520yh/p/12505087.html

ES6入门教程---数值扩展和数组扩展

好久不见. 提交于 2020-03-16 14:29:31
1.数值扩展 var num = 0b11; console.log(num);3 var num = 0o11;console.log(num);9 var num = 1.234; console.log(Math.trunc(num))//干掉小数点 console.log(Math.sign(-0));//判断参数是正数、负数、正0还是负0 console.log(Math.hypot(3,4))//返回所有参数的平方和的平方根(勾股定理) 2.数组扩展 var str = 'xuniannian'; var arr = Array.from(str);//把类数组转成真正的数组。 console.log(arr); var arr = Array.of(1,2,3,4,5);//Array.of()方法用于将一组参数,转换为数组。 console.log(arr); var arr = new Array(5); console.log(arr.length) var arr = []; arr.find() 找出第一个符合条件的数组元素 参数: 1、回调函数 2、回调函数内this的指向 遍历整个数组,遍历过程中调用回调函数,如果回调函数的返回值为true,则返回当前正在遍历的元素。 如果所有元素都不符合条件则返回undefined arr.findIndex()

Node.js RESTful API

与世无争的帅哥 提交于 2020-03-16 13:48:43
以下为 REST 基本架构的四个方法: GET - 用于获取数据。 PUT - 用于更新或添加数据。 DELETE - 用于删除数据。 POST - 用于添加数据。 首先,创建一个 json 数据资源文件 users.json { "user1":{ "name":"cyy1", "password":"password1", "hobby":"html", "id":1 }, "user2":{ "name":"cyy2", "password":"password2", "hobby":"css", "id":2 }, "user1":{ "name":"cyy3", "password":"password3", "hobby":"js", "id":3 } } 接下来让我们创建以下 RESTful API: 创建 RESTful API listUsers ,用于读取用户的信息列表, server.js var express=require("express"); var app=express();//使用express框架 var fs=require("fs");//文件操作 //路由 localhost:8081/listUsers app.get("/listUsers",function(req,res){ fs.readFile(__dirname+"/"+

slider插件 滚动条插件 基于g2-plugin-slider.js修改

纵饮孤独 提交于 2020-03-16 13:40:14
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width,height=device-height"> <title>g2 slider</title> <style> ::-webkit-scrollbar { display: none; } html, body { overflow: hidden; height: 100%; margin: 0; } .m-cf-slider-wrapper{display: inline-block; position: absolute;bottom: 10px;left: 390px;right: 360px;height: 56px;} .m-cf-slider {display: inline-block;width: 100%;height: 100%;} </style> </head> <body> <div class="m-cf-slider-wrapper"> <div id="m-cf-slider" class="m-cf-slider"></div> </div> <script> /*Fixing iframe window

JavaScript 基础知识

情到浓时终转凉″ 提交于 2020-03-16 12:29:24
目录 JavaScript 基础知识 变量 关键字 保留字 原始值 引用值 错误 运算符 条件控制 循环 typeof 类型转换 ASCII 与 Unicode JavaScript 基础知识 JavaSCript 基础知识:变量、原始值和引用值、运算符、类型转换、typeof 等 变量 var a; // 声明 a = 1; // 赋值 var b = 2; // 声明并赋值 var x = 1, y, z = 3; // 单一声明方式 关键字 不能将关键字和保留字用作变量名或函数名 break case catch continue default delete do else finally for function if in instanceof new return switch this throw try typeof var void while with 保留字 一些保留字已经在 ES6 语法中使用 abstract boolean byte char class const debugger double enum export extends final float goto implements import int interface long native package private protected public short static

Js操作Select大全

。_饼干妹妹 提交于 2020-03-16 11:08:07
一、查询 // 1.得到select的当前选中项的value var currSelectValue = document.all.objSelect.value; // 2.得到select的当前选中项的text var currSelectText = document.all.objSelect.options[document.all.objSelect.selectedIndex].text; // 3.得到select的当前选中项的Index var currSelectIndex = document.all.objSelect.selectedIndex; 二、判断 判断select选项中 是否存在Value="paraValue"的Item function jsSelectIsExitItem(objSelect, objItemValue) { var isExit = false ; for (var i = 0 ; i < objSelect.options.length; i ++ ) { if (objSelect.options[i].value == objItemValue) { isExit = true ; break ; } } return isExit; } 三、设置 // 1.向select选项中 加入一个Item function

jquery如何获得页面元素的坐标值

别来无恙 提交于 2020-03-16 11:01:24
jquery如何获得页面元素的坐标值 yulutxt是输入经典语录的输入框,feedBackMessage函数见 http://www.wesoho.com/article/asp/2765.htm var p = $("#yulutxt"); var yuluoffset = p.offset(); feedBackMessage(msg,yuluoffset.left+p.width()+10,yuluoffset.top,5000); ------------------- 1,获取对象(自定义调整打开新窗口参照元素) var obj = $("#oButton"); 实例中我获取的对象是弹出窗口按钮,这样创建的新窗口就会根椐按钮的位置进行调整,实例中将创建的新窗口显示的按钮的右下角。 2,获取对象元素的位置(offset()方法) var offset = obj.offset(); 获取对象元素的位置,分别是元素的top和left,调用方法是:offset.left和offset.top,可知当前对象的左部和顶部位置。 3,获取对象元素的宽度(width()方法) var right = offset.left+obj.width(); 实例中是获取对象的右下角位置,创建新窗口的左部位置。 4,获取对象元素的高度(height()方法) var down = offset