js

js call()与 apply()

五迷三道 提交于 2020-03-16 06:35:15
1 定义 call 方法 语法:call(thisObj,参数1,参数2,。。。参数n)。参数为当前函数的参数 定义:调用一个对象的一个方法,以另一个对象替换当前对象。 如果没有提供 thisObj 参数,那么 Global 对象被用作 thisObj。 apply方法 语法:call(thisObj,[参数1,参数2,。。。参数n]) 定义:应用某一对象的一个方法,用另一个对象替换当前对象。 说明: 如果 argArray 不是一个有效的数组或者不是 arguments 对象,那么将导致一个 TypeError。 如果没有提供 argArray 和 thisObj 任何一个参数,那么 Global 对象将被用作 thisObj, 并且无法被传递任何参数。 区别:apply方法将所有参数放在一个数组上。数组可换为arguments 2.常用实例 1)普通函数 function a(x,y){   return x-y; } function b(x,y){   return x+y; } console.log(a.call(b,3,4));//控制台输出-1 console.log(b.call(a,3,4));/控制台输出7 说明:用a来替换b,即a.call(b,1,2)等于a(1,2) 2)工厂函数写法 function a(x,y){   this.x=x;   this

js中对类和对象的理解

一笑奈何 提交于 2020-03-16 05:46:48
类 : 对一群具有相同特征的对象的集合的描述; 对象: 真实存在的对象个体; **面向对象,而不是面向类。 1.一切皆对象,继承靠原型链,多态靠弱类型,封装……虽然可以靠闭包,但我个人更推崇和python一样的,下划线代表私有的风格 2.比如人类,指的是一个范围; 对象:比如某个人,指的是这个范围中具体的对象 3.Javascript中的function作为构造函数时,就是一个类,搭配上new操作符,可以返回一个对象。 当然,要生成一个对象,也可以用字面量的形式,例如var obj = {x: 1, y: function(){} }; 类可以理解为一个模板,而对象就是根据这个模板造出来的具体实例。 instanceof 判断一个对象是不是属于一个类 对象 instanceof 构造函数 自己的父级 父级 。。。。 constructor 判断直接的父级 1.Object instanceof Function true Object instanceof Object true Function instanceof Function true Function instanceof Object true 2. var arr = new Array(); var date = new Date(); arr instanceof Array true date

js-依次循环异步请求(普通/ES6)

∥☆過路亽.° 提交于 2020-03-16 05:25:50
要求:请求5次ajax,将结果依次显示在页面 老办法:用数组+定时器代替for循环 //递归 -------有顺序 function getTime(j, length) { $start = new Date().getTime(); Time(j, length); } function Time(j,length) { $.get(seturl, function (e) { $end = new Date().getTime(); //js请求时间 //计算出相差天数 $date = $end - $start; $seconds = Math.ceil($date / (1000)); $last = $seconds - e['time']; console.log($seconds); $html = $('<li>' + j + ' test1: ' + e["time"] + 's' + ' / test2: ' + $last + 's</li>'); $html.appendTo($('.list')); //成功后,判断是否要接着执行 if (++j < length) { getTime(j, length); } if (j == 6) { //loading end $('#loading').hide(); } }, 'json').error

jquery和js原生代码的区别

徘徊边缘 提交于 2020-03-16 05:12:07
jQuery和JavaScript文档就绪函数 /** * 文档就绪函数:等待文档记载完毕,在执行相关代码 * 原生JS(JavaScript)方式:window.onload=funcation(){} * jquery方式:$(document).ready(funcation(){}); * * 区别: * * 1.执行时机: *原生JS(JavaScript)方式: window.onload:必须等待网页全部加载完毕(包括图片等),然后再执行包裹代码 * *jquery方式: $(document).ready():只需要等待网页中的DOM结构加载完毕,就能执行包裹的代码 * * * 2.执行次数 * 原生JS(JavaScript)方式:window.onload:不能同时编写多个,只能执行一次,如果第二次,那么第一次的执行会被覆盖 * jquery方式:$(document).ready():能同时编写多个 * * * 3.jquery方式简写方案 *$(document).ready(function() { *alert("Hello World!"); *}); *简写 * *$().ready(function () { * alert("Hello World!"); *}) * *$(function () { * alert("Hello World!"

JS通过ajax + 多列布局 + 自动加载来实现瀑布流效果

痴心易碎 提交于 2020-03-16 03:48:26
Ajax 说明:本文效果是无限加载的,意思就是你一直滚动就会一直加载图片出现,通过鼠标滚动距离来判断的,所以不是说的那种加载一次就停了的那种,那种demo下次我会再做一次 css部分用的是html5+css3的新属性,图片会自动添加到每行的最顶端上去,而不是用js去判断。去除了一些js计算的麻烦。 css部分: * { margin: 0; padding: 0; box-sizing: border-box; } body { background: #352323 url(images/a.png); } img { display: block; } section { max-width: 95%; margin: 0 auto; overflow: hidden; column-count: 5; column-gap: 0; column-fill: auto; } figure { border: 2px solid pink; margin: 0 5px 10px; break-inside: avoid; padding: 5px; } figure img { width: 100%; } figcaption { padding: 10px 0; text-align: center; font-weight: 900; color: #a77869; }

js 函数

£可爱£侵袭症+ 提交于 2020-03-16 01:55:36
一·函数的相关属性 1.name属性 表示函数的函数名。 2.length属性 表示形参的个数。 注意:length 和 arguments的区别 length是指形参的个数。 arguments:伪数组对象,存放实参的个数 3.caller属性 表示函数的调用者,换句话说,谁调用了我,就指向谁,如果在全局变量中调用,浏览器显示值和node里面是不一样的,浏览器里面显示null,node里面是一个function 4.callee 不是函数的对属性,而是arguments对象的属性,该属性是一个指针,指向拥有这个arguments对象的函数。 使用callee降低了函数和函数名的关联。 二.函数的声明方式 1.普通声明方式 function 函数名(){   //函数体 } 函数名()//调用函数 通过这种方式,创建的函数有一个特点,就是会函数提升,会将函数提到最上面。在js里,函数是一等公民,在提升的时候。同样是提升,函数会提升在变量提升之前。 2.函数表达式 所谓函数表达式,就是将函数赋值给变量,这种方式不存在函数提升 let test=function(){   函数体 } test(); 3.命名式函数表达式 就是将一个有函数名的函数赋值给一个变量 let test=function test1(){   函数体 } test(); 注意:test()不能调用函数,会报错

es6-compact-table 名词备忘

ぃ、小莉子 提交于 2020-03-16 00:55:05
网址:http://kangax.github.io/compat-table/es6 网站收录了各编译器对es6及其后版本的支持度,其中我对以下几个并不了解所为何物 Traceur Babel 6 + core-js Babel 7 + core-js 2 Babel 7 + core-js 3 Closure 2018.11 Type-Script + core-js 2 Type-Script + core-js 3 es6-shim Konq 4.14 Echo JS XS6 JXA Node >=6.5 <7 Node >=8.10 <9 Node >=10.13 <11 DUK 1.8 DUK 2.2 JJS 1.8 JJS 10 GraalVM 1.0 Traceur Traceur 是一个来自 Google 的 Javascript 编译器,通过它可以体验一些很新并且有趣的 Javascript 语言特性,这些多数是还没有被当前浏览器实现的 ECMAScript 标准或草案,比如:数组比较、类、模块、迭代器、方法参数默认值、Promise等。 介绍说明 Traceur 和 Babel 对比:与 Babel 功能基本相同,都提供了把新的 js 语言特性转化功能,依照文章开头的网站显示,Traceur 比较老牌, 所支持的新特性要少一些。 code-js 开源库

使用原生js 实现点击消失效果

不打扰是莪最后的温柔 提交于 2020-03-15 21:52:50
JQ版 <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>菜鸟教程(runoob.com)</title> <script src="https://cdn.staticfile.org/jquery/1.10.2/jquery.min.js"> </script> <script> $(document).ready(function () { $("p").click(function () { $(this).hide(); }); }); </script> </head> <body> <p>如果你点我,我就会消失。</p> <p>继续点我!</p> <p>接着点我!</p> </body> </html> JS版 <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>菜鸟教程(runoob.com)</title> </head> <body> <p>如果你点我,我就会消失。</p> <p>继续点我!</p> <p>接着点我!</p> <script> // 使用原生js 实现点击消失效果 window.onload = function () { var ppp = document.getElementsByTagName("p")

js计时器实现轮播图

我的梦境 提交于 2020-03-15 21:02:01
HTML部分 <div class="tu-scoll"> <div id=demo align=center> <table border=0 align=center cellpadding=1 cellspacing=1 cellspace=0 > <tr><td valign=top bgcolor=#ffffff id=marquePic1> <table width='100%' border='0' cellspacing='0'><tr><td align=center><a href='#'><img src="../images/shouye1.png" width=150 height=110 border=0></a></td><td align=center><a href='#'><img src="../images/shouye2.png" width=150 height=110 border=0></a></td><td align=center><a href='#'><img src="../images/shouye3.png" width=150 height=110 border=0></a></td><td align=center><a href='#'><img src="../images/shouye4.png" width

评价。评星级js代码

佐手、 提交于 2020-03-15 18:38:58
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>淘宝评价功能</title> <style> <!-- body, ul, li, p{ margin:0; padding:0;} body{ font-size:12px; font-family:Arial, Helvetica, sans-serif; color:#666;} ul{ list-style-type:none;} #star span,#star ul{ float:left; height:19px; line-height:19px;} #star ul{ margin:0 10px;} #star ul li{ #text-indent:-9999px; float:left; width:20px; #background:url("http:/