一、调用函数例:<html> <head> <title></title> <script language="javascript" type="text/script"> function text() { alert("该函数被调用了"); } </script> </head> <body> <input type="button" value="点击此按钮" onclick="text()"> </body> </html>confirm消息对话框自定义函数例子:function text2(){ var sex=confirm("点击“确定”是男,点击“取消”是女"); if(sex==true){ alert(你是男); ...
整理JavaScript方面的一些技巧,比较实用的函数,常见功能实现方法,仅作参考 变量转换//edit http://www.lai18.com var myVar = "3.14159", str = ""+ myVar,// to string int = ~~myVar, // to integer float = 1*myVar, // to float bool = !!myVar, /* to boolean - any string with length and any number except 0 are true */ array = [myVar]; // to array 但是转换日期(new Date(myVar))和正则表达式(new RegExp...
任何函数只要作为方法调用实际上都会传入一个隐式的实参,这个实参是一个对象,方法调用的母体就是这个对象。函数的参数(实参和形参)1、可选参数当调用函数的时候传入的实参比函数声明时指定的形参个数要少,剩下的形参都将设置为undefinedfunction getPropertyName(o, /*optional*/a) {if(!a) a = [] // 相当于a = a || []for(var property in o)a.push(property)return a } var a = getPropertyName(o) //将o的属性存储到...
/*** [getQueryStringArgs 用以解析查询字符串]* @return {[Object]} [一个包含所有参数的对象]*/function getQueryStringArgs(){//取得查询字符串并去掉开头的“?” var qs = (location.search.length > 0 ? location.search.substring(1) : ""), // 保存数据对象 args = {},// 取得每一项 items = qs.length ? qs.split("&") : [], item = null, name = null, value = null,// 循环中使用的变量 ...
函数是有Function构建出来的,它本身是内有bind函数的,要手写bind函数可以写到Function.prototype上,这里用到了,原型链,this,call,apply,arguments,slice等知识。过程分为三步。一、首先在Function.prototype写个bind1函数(为了不覆盖原有的bind函数),用arguments来接受参数,arguments可以接受所有的参数,不写它也可以接收到。这里用slice方法来把arguments变成数组,【slice(begin,end)不写标识从索引0开始一直找到...
#函数表达式 ##函数声明和函数表达式的区别 函数的定义有两种形式,一种是函数声明,一种是函数表达式 使用声明时,要注意函数声明提升现象,比如说在if语句中使用声明会出错,但是表达式就不存在这个问题 表达式要在使用前定义,而声明不用 通过声明会获得一个name属性,而表达式中其name为空 function fn() {} var fn1 = function() {}; console.log(fn.name); //fn console.log(fn1.name); // ##递归调用...
上部分主要介绍高阶函数的常见形式,本部分将着重介绍高阶函数的高级应用。 1.currying currying指的是函数柯里化,又称部分求值。一个currying的函数会先接受一些参数,但不立即求值,而是继续返回给另一个函数,通过闭包存储起来。等到函数被真正需求要求值的时候,将之前传入的参数统一起来求值。例如,我们要计算一个月的开销,我们并不需要计算每天具体花了多少,而是需要计算月底总共花掉多少,也就是说,实际上我们只...
函数:就是一个可以反复执行的代码块为什么使用函数:您能够对代码进行复用:只要定义一次代码,就可以多次使用它。您能够多次向同一函数传递不同的参数,以产生不同的结果。创建一个函数:函数创建的过程,就是找一个堆内存空间,把函数代码放进去,把内存地址赋值给函数名function 函数名(){ //函数体 } 函数名() //函数调用调用函数:函数声明之后可以多次调用;函数每次调用都会产生一个新的所有作用域...
<!DOCTYPE html> <html> <head lang="en"><meta charset="UTF-8"><title></title><style>#box {width: 100px;height: 100px;background-color: greenyellow;position: absolute;}</style> </head> <body> <input type="button" value="按钮" id="btn"/><div id="box"></div> <script>var btn = document.getElementById("btn");btn.onclick = function () {animate(box, {"height": 400, "width": 400, "borderRadius": 150, "left...
观察下面两段代码,试写出hello(‘word‘);的运行结果:// 变量式声明function hello(msg){alert(msg);var msg = function(){};alert(msg); }//函数式声明function hello(msg){alert(msg);function msg (){};alert(msg); }对于变量式声明,首先弹出word,然后弹出function,而函数式声明,则两次都是弹出function.这是为什么呢? 一: 函数式声明function hello(msg){alert(msg); //放在最前面的位置打印msg,是functionfunction msg(...
定义函数使用function关键字来定义函数,分为两种形式:声明式函数定义; function add(m,n) {alert(m+n);} 这种方式等同于构造一个Function类的实例的方式: var add = new Function("m", "n", "alert(m+n);"); Function类构造方法的最后一个参数为函数体:"alert(m+n);",前面的都是函数的形参,参数必须是字符串形式的:"m","n"。函数表达式;1//将一个匿名函数赋值给变量add 2var add = function(m, n) {3 alert(m + n);4}...
1、类式继承,模拟面向对象语言的继承方式function extend(subClass, superClass) { var F = function() {}; F.prototype = superClass.prototype; subClass.prototype = new F(); subClass.prototype.constructor = subClass; subClass.superclass = superClass.prototype; if(superClass.prototype.constructor == Object.prototype.constructor) { superClass.prototype.constructor =...
let add = x=>x+1; //Map :: (a -> b) -> [a] -> [b] let Map = (function(result,f,arr){//闭包存储累积对象let result = [];returnfunction map(f,arr){if(!Array.isArray(arr)){return "要处理的对象为数组";}if(arr.length ==0){return [];}else{let [head,...tail] = arr;result.push(f(head));// 通过回调map遍历目标对象arr,f处理过的元素存入result,tail为[]即遍历结束,可以返回resultreturn tail.length == 0 ? result : ...
当函数被包含在一堆括号()内部就称为了一个表达式,通过在末尾上加上另一个()可以立即执行这个函数,这样的表达式就叫做立即执行函数表达式(Immediately Invoked Function Expression,简称IIFE),如:(function(){...})()或者(function(){...}()) IIFE的另一个非常普遍用法就是在外层括号传入参数进去,给内部的匿名韩式调用,来看下代码吧:var a = 2;(function(global){var a = 3;console.log(a); //3console.l...
1、字符串转换 toString():可以将任何类型的数据都转换为字符串var num= 19; //19var myStr = num.toString(); //"19"var myStr = String(num); //"19"var myStr = " " + num; //"192、字符串分割 split(“,”):将字符串分割位多个字符串, split()的第二个参数,表示返回的字符串数组的最大长度var str = "I,Love,You,Do,you,love,me"var strArr = myStr .split(","); // ["I", "Love", "You", "Do", "you", "...