正文:我们知道,在js中,函数实际上是一个对象,每个函数都是Function类型的实例,并且都与其他引用类型一样具有属性和方法。因此,函数名实际上是指向函数对象的指针,不与某个函数绑定。在常见的两种定义方式(见下文)之外,还有一种定义的方式能更直观的体现出这个概念:var sum = new Function("num1", "num2", "return num1 + num2"); //不推荐 Function的构造函数可以接收任意数量的参数,但最后一个参数始终被看做函数...
前言:最近团队需要做一个分享,脚进脑子,不知如何分享。最后想着之前一直想研究一下 vue 源码,今天刚好 “借此机会” 研究一下。网上研究vue数据绑定的文章已经非常多了,但是自己写一遍,敲一遍demo和看别人的文章是完全不同的,so……搬运工来了目前数据绑定主要有以下三种实现方式:1. 脏值检查(angular.js) 轮询检测数据变化DOM事件,譬如用户输入文本,点击按钮等。( ng-click )XHR响应事件 ( $http )浏览器Locatio...
函数是JavaScript中最灵活的一种对象,这里只是讲解其匿名函数的用途。匿名函数指没有指定函数名或指针的函数,自执行匿名函数只是其中一种,下文中称这种函数为:自执行函数 下面是一个最常见的自执行函数:// 传统匿名函数 (function() { alert(hello); })(); 这段代码的执行效果就是在页面再载入时弹出:"hello" 是什么促使它自动执行的?,来看下面的代码// 在传统写法上去掉小括号,并在前面加上运算符 ~,!,+,- ~fun...
requirejs是一个JavaScript文件和模块加载器。requireJS允许你把你的javascript代码独立成文件和模块,同时管理每个模块间的依赖关系。RequireJS的目标是鼓励代码的模块化,它使用了不同于传统"script"标签的脚本加载步骤。使用RequireJS加载模块化脚本将提高代码的加载速度和质量。一、为什么要用require.js?最早的时候,所有Javascript代码都写在一个文件里面,只要加载这一个文件就够了。后来,代码越来越多,一个文件不够了,...
介绍trigger方法的功能是在所选择的元素上触发指定类型的事件,其调用的语法格式为:trigger(type,[data]) ,其中参数type为触发事件的类型,参数data为可选项,表示在触发事件时,传递给函数的附件参数.常用模拟有时,不需要进行操作,也想模拟用户操作达到某些效果。比如在用户进入界面后就触发click事件,而不需要用户去点击。在jquery中可以使用trigger完成。$("#btn").trigger("click")//触发id为btn的click事件$("#btn").click()...
话不多说,请看代码:<select id="Select1"><option value="one">一</option><option value="two">二</option><option value="thr">三</option><option value="tho">四</option> </select>注释:(1)给下拉框赋值:$("#Select1").val(“二”);这时已经选中了 value是two的选项 ,通过$("#Select1")[0].selectedIndex或者$("#Select1").get(0).selectedIndex可以得到此时的索引是1,下拉框的索引是从0开始的(2)通过设置属性$("#S...
1、焦点:当一个元素有焦点的时候,那么他就可以接受用户的输入(不是所有元素都能接受焦点)给元素设置焦点的方式: 1、点击 2、tab 3、js2、(例子:输入框提示文字)onfocus:当元素获取焦点时触发:element.onfocus = function(){};onblur:当元素失去焦点时触发:element.onblur = function(){}; obj.focus() 给指定的元素设置焦点 obj.blur() 取消指定元素的焦点 obj.select()选择指定元素里面的文本内容3、(例...
一、基础用法var recognition = new webkitSpeechRecognition(); recognition.onresult = function(event) {console.log(event) } recognition.start(); 这里操作实际会让用户授权页面开启麦克风,如果用户允许的话,用户可以开始说话了,如果你停说话了,onresult注册的时间 则会被触发,并会讲捕获的音频返回成一个JavaScript对象。二、响应流你需要等待用户准备好对话,并且知道对话结束;var recognition = new webkitSpeech...
本文实例讲述了JavaScript事件用法。分享给大家供大家参考,具体如下:JavaScript通过事件与HTML交互。事件流事件流规定了事件的触发规则和顺序。DOM2规定了事件流包括三个阶段:事件捕获 -> 目标触发除 -> 事件冒泡。DOM2规定在事件捕获阶段不应调用事件处理程序,不过各大浏览器都不鸟它。DOM2级的事件处理程序操作函数对:addEventListener和removeEventListener的第三个参数则把这种事变成了DIY,这是一种妥协,同时让初学者认...
前言数据加密传输,大家经常接触几个方式一个是密文传输,一个明文传输密文传输,就是用密钥对数据加密,使用公钥对数据解密,传输的通道可以是https的也可以是http的。明文传输,前提是建立一个安全的传输通道,这里使用证书对通道的安全做了防护,然后传输数据,使用的是明文。比较专业的 可以后面慢慢分享,不过这里我就介绍下明文传输,如果是用nodejs建立安全通道使用两个库,分别是urllib和request,这里的证书只介绍使用pfx...
JavaScriptSerializer 类由异步通信层内部使用,用于序列化和反序列化在浏览器和 Web 服务器之间传递的数据。说白了就是能够直接将一个C#对象传送到前台页面成为javascript对象。要添加System.Web.Extensions.dll的引用。该类位于System.Web.Script.Serialization命名空间下。一、属性MaxJsonLength 获取或设置 JavaScriptSerializer 类接受的 JSON 字符串的最大长度。 RecursionLimit 获取或设置用于约束要处理的对象级别的数目的...
breakfunction myBreak() { for(var i = 0; i < 5; i++) { if(i == 3) { break; } console.log(i); } } myBreak(); 输出:012break: 直接跳出 当前 的循环,从当前循环外面开始执行,忽略循环体中任何其他语句和循环条件测试。它只能跳出一层循环,如果你的循环是嵌套循环,那么你需要按照你嵌套的层次,逐步使用break来跳出。continuefunction myContinue() { for(var i = 0; i < 5; i++) { if(i == 3) { continue; } console.lo...
一、变量声明提升 hoisting 英[‘h??st??] 美[‘h??st??] n. 起重,提升 v. 把…吊起,升起( hoist的现在分词 )先来看一个栗子var cc = hello; function foo(){console.log(cc);var cc = world;console.log(cc); } foo(); console.log(cc); 这里将会输出 undefined、world 、hello此处主要有两个知识点: 1、作用域 2、变量声明提升JavaScript是一门解释性语言,当代码在解释器(如Chrome的V8引擎)环境...
一、前言看到的前辈写的代码如下<script src="#link("xxxx/xx/home/home.js")" type="text/javascript" async defer></script> 竟然同时有async和defer属性,心想着肯定是前辈老司机的什么黑科技,两个一块儿肯定会发生什么神奇化学反应,于是赶紧怀着一颗崇敬的心去翻书翻文档,先复习一下各自的定义。二、调查一番先看看async和defer各自的定义吧,翻开红宝书望远镜,是这么介绍的2.1 defer这个属性的用途是表明脚本在执行时不...
前言终于,楼主的「Underscore 源码解读系列」underscore-analysis 即将进入尾声,关注下 timeline 会发现楼主最近加快了解读速度。十一月,多事之秋,最近好多事情搞的楼主心力憔悴,身心俱疲,也想尽快把这个系列完结掉,也好了却一件心事。本文预计是解读系列的倒数第二篇,最后一篇那么显然就是大总结了。楼主的 Underscore 系列解读完整版地址https://github.com/hanzichi/u...常规调用之前写的文章,关注点大多在具体的方法,...