js函数知识点(一)

一、函数声明的方式

function 函数名(参数列表){ 函数体; return 返回值}   问题:会被声明提前

给出以下解决方案:

var函数名=function (参数列表){ 函数体; return 返回值}   不会被声明提前

var 函数名=new Function("参数1","参数2",...,"函数体;...")

强烈不推荐使用,因为这种方式会导致解析两次代码,影响性能。

有关这三种声明方式的区别,可以看这篇博文学习:http://blog.csdn.net/ll641058431/article/details/52319737

  

二、重载

js语法默认不支持重载,最后创建的会覆盖之前创建的所有

解决方法:arguments

 1 function pay(                   ){
 2      //arguments[         ,         ].length
 3               //     0           1
 4      if(arguments.length==0)
 5       console.log("手机支付...");
 6      else if(arguments.length==1)
 7       console.log(
 8         "现金支付...收款金额:"+arguments[0]);
 9      else
10       console.log(
11         "刷卡结账...卡号:"+arguments[0]);
12     }
13
14     pay();//手机支付...
15     pay(100);//现金支付...
16     pay("6553 1234","123456");//刷卡结账...

也可直接用 arguments 做参数不确定的操作

1 function add(){
2       var sum=0;
3       for(var i=0;i<arguments.length;i++){
4         sum+=arguments[i];
5       }
6       return sum;
7     }

三、匿名函数

创建时不指定函数名

为什么:

1. 节约内存

2. 划分临时作用域

何时: 只要一个函数使用后,希望立刻释放时

如何:

1. 回调(callback): 将一个函数,交给另一个函数去自动调用。

比如:    arr.sort(function(a,b){return a-b;})

xhr.onreadystatechange=function(resText){}

btn.onclick=function(){}

str.replace(/正则/,function(kw){return xxx});

2. 自调: 定义函数后,立刻调用自己

何时: 几乎所有自定义的脚本,都要放在匿名函数中

为什么: 避免使用全局变量,避免全局污染

如何:

1. (function(...){...})()

2. +function(...){...}()

(function(){
      var start=new Date();
      alert("开始加载网页内容...at:"+start.toLocaleTimeString());
    })();

  

时间: 2024-10-29 08:50:20

js函数知识点(一)的相关文章

JS函数知识点梳理

要想学好JavaScript除了基本的JavaScript知识点外,作为JavaScript的第一等公民--函数,我们要深入的了解.函数的多变来源于参数的灵活多变和返回值的多变.如果参数是一般的数据类型或一般对象,这样的函数就是普通函数:如果函数的参数是函数,这就是我们所要知道的高级函数:如果创建的函数调用另外一部分(变量和参数已经预置),这样的函数就是偏函数. 此外,还有一点就是可选参数(optional parameter)的使用. 函数的分类 普通函数 有函数名,参数,返回值,同名覆盖.示

js基础知识点收集

js基础知识点收集 js常用基本类型 function show(x) { console.log(typeof(x)); // undefined console.log(typeof(10)); // number console.log(typeof('abc')); // string console.log(typeof(true)); // boolean console.log(typeof([])); // object console.log(typeof(function (

js基础知识点总结

js基础知识点总结 如何在一个网站或者一个页面,去书写你的js代码:1.js的分层(功能):jquery(tool) 组件(ui) 应用(app),mvc(backboneJs)2.js的规划():避免全局变量和方法(命名空间,闭包,面向对象),模块化(seaJs,requireJs) 常用内部类:Data Array Math String HTML属性,CSS属性HTML:属性.HTML属性="值":CSS:对象.style.CSS属性="值"; class和f

JS重要知识点

这里列出了一些JS重要知识点(不全面,但自己感觉很重要).彻底理解并掌握这些知识点,对于每个想要深入学习JS的朋友应该都是必须的. 讲解还是以示例代码搭配注释的形式,这里做个小目录: JS代码预解析原理(包括三个段落): 函数相关(包括 函数传参,带参数函数的调用方式,闭包): 面向对象(包括 对象创建.原型链,数据类型的检测,继承). JS代码预解析原理 /****************** JS代码预解析原理 ******************/ /* JS代码预解析.变量作用域.作用域

如何编写高质量的 JS 函数(3) --函数式编程[理论篇]

本文首发于 vivo互联网技术 微信公众号 链接:https://mp.weixin.qq.com/s/EWSqZuujHIRyx8Eb2SSidQ作者:杨昆 [编写高质量函数系列]中, <如何编写高质量的 JS 函数(1) -- 敲山震虎篇>介绍了函数的执行机制,此篇将会从函数的命名.注释和鲁棒性方面,阐述如何通过 JavaScript 编写高质量的函数. <如何编写高质量的 JS 函数(2)-- 命名/注释/鲁棒篇>从函数的命名.注释和鲁棒性方面,阐述如何通过 JavaScri

Vue ---- vue的基本使用 文本/事件/属性指令 补充: js面向对象 js函数

目录 日考题(知识点)??? 1.http 与 https 2.前端布局 3.orm 大概的大纲?? vue框架??? 1.创建vue实例 2.挂载点 3.data 变量 4.methods 方法 5.插值表达式 6.文本指令 7.事件指令 8.属性指令 9.补充:面向对象js 10.补充:js函数 日考题(知识点)??? 1.http 与 https http 与 tcp : 一个是应用层, 传输层, http 协议传输层采用的是tcp http的特点: 无状态 无连接 先客户端发送请求, 服

JS函数大全 莫名其妙找到的

1 .document.write(""); 输出语句 2 .JS中的注释为// 3 .传统的HTML文档顺序是:document->html->(head,body) 4 .一个浏览器窗口中的DOM顺序是:window->(navigator,screen,history,location,document) 5 .得到表单中元素的名称和值:document.getElementById("表单中元素的ID号").name(或value) 6 .

【干货】JS相关知识点总结

一.获取元素方法 可以使用内置对象document上的getElementById方法来获取页面上设置了id属性的元素,获取到的是一个html对象,然后将它赋值给一个变量.如下: 上面的语句,如果把javascript写在元素的上面,就会出错,因为页面是从上往下加载执行的,javascript去页面上获取元素div1的时候,元素div1还没有加载,解决方法有两种 二.操作元素属性 1.获取页面的元素,就可以对页面元素的属性进行操作,属性的操作包括属性的读和写. 操作属性的方法:a."."

JSF页面中使用js函数回调后台bean方法并获取返回值的方法

由于primefaces在国内使用的并不是太多,因此,国内对jsf做系统.详细的介绍的资料很少,即使有一些资料,也仅仅是对国外资料的简单翻译或者是仅仅讲表面现象(皮毛而已),它们的语句甚至还是错误的,很可能会误导使用者. 相对来说,看国内的那些仅仅是翻译过来的文章或书籍不如直接看国外的官方文档或资料来的实在,在我讲述jsf页面中如何使用js调用后台bean方法之前,先给大家说几个国外的资料.在primefaces官方网站上,你可以搜索到几乎所有你需要的东西,primefaces官网为:http: