Js函数的概念、作用、创建、调用!
一、函数是用来帮助我们封装、调用代码的最方便的工具!
二、函数的创建方法有三种:

三、函数的创建方式有3种,调用方式也不是单一的,调用方式有4种!
      1、作为一个函数去调用 函数名+();(函数作为全局对象调用,会使this的值成为全局对象,使用window对象作为一个变量,容易造成程序崩溃!) 
      2、函数作为方法调用:(函数作为对象的方法调用,会使this的值成为对象的本身!)
      我们举例说明:

3、使用构造函数调用函数:(构造函数中的this没有任何值)

4、作为函数方法调用函数:(这种可以设置this的值,我可以返回不同this!)
        在js中函数是对象,是对象就有属性个方法,而call()和apply()是预定义的函数方法!
        这两个方法都可以调用函数,两个方法的第一个参数必须是对象的本身!

三、如果想要对函数有更深刻的理解,或者正确认识函数!需要我们先做一件事,那就是了解js的运行机制问题:
        1、在js中js引擎会优先解析var变量和function定义!在预解析完成后从上到下逐步进行!
        2、解析var变量时,会把值存储在“执行环境”中,而不会去赋值,值是存储作用!例如:
        alert(a);  var a = 5;  这时会输出undifiend,意思是没有被初始化没有被赋值!
        这并不是没有被定义,错误了的意思!
        3、在解析function时会把函数整体定义,这也就解释了为什么在function定义函数时为什么可以先调用后声明了!其实表面上看是先调用了,其实在内部机制中第一步实行的是把以function方式定义的函数先声明了!
四、javascrit中函数有一个内置的对象arguments对象!
      作用是:1.在js中函数定义没有任何参数,调用该函数时可以传递任意参数!2.arguments对象是数组对象。3.arguments对象的length属性:获取函数的实参个数!4.利用Arguments对象特性,实现模拟函数的重载的效果.

Js函数的概念、作用、创建、调用!的更多相关文章
- js函数常见的写法以及调用方法
		
写在前面:本文详细的介绍了5中js函数常见的写法以及调用的方法,平时看别人代码的时候总是看到各种不同风格的js函数的写法.不明不白的,找了点资料,做了个总结,需要的小伙伴可以看看,做个参考.1.常规写 ...
 - js函数的各种写法与调用
		
以下是我见过的各种js函数的各种写法以及调用,虽然有些写法及其调用我不清楚其专业术语叫啥,但并不影响我写一个总结笔记. 我们刚开始接触js语音,经常看到的这种名叫“使用function关键字来定义函数 ...
 - 浅谈Js对象的概念、创建、调用、删除、修改!
		
一.我们经常困惑,对象究竟是什么,其实这是一种思维,一种意识上的东西,就像我们都说 世界是有物质组成的道理一样,理解了下面的几句话!对象也不是那么抽象! 1.javascript中的所有事 ...
 - js 函数闭包内部返回函数体调用方法难点解答
		
今天在网上,看到一篇关于js函数难点的文章,js函数的一些难点.在那上面提了一下,关于js函数返回另一个函数的问题,并附上了一道面试题: var add = function(x){ var sum ...
 - js函数 test.caller 谁在调用test函数
		
返回调用指定函数的函数. function test() { if (test.caller === null) console.log('test 函数在全局调用'); // 获取调用 test函数 ...
 - JSF页面中使用js函数回调后台action方法
		
最近遇到了一个问题就是在JSF页面中嵌入html页面,这个html页面中很多功能是使用js动态生成的,现在需要在js函数里想去调用JSF中action类method()方法并动态传送数据给后台进行处理 ...
 - JS函数定义与匿名函数的调用
		
一.函数声明.函数表达式.匿名函数 函数声明:function fnName () {…};使用function关键字 声明一个函数,再指定一个函数名,叫函数声明. 函数表达式 var fnName ...
 - 学好js,这些js函数概念一定要知道
		
函数创建方式 1.声明方式 例如:function consoleTip (){ console.log("tip!"); } 2.表达式方式 例如:var consoleTip ...
 - JavaScript (JS) 函数补充 (含arguments、eval()、四种调用模式)
		
1. 程序异常 ① try-catch语法 测试异常 try-catch语法代码如下: try { 异常代码; try中可以承重异常代码, console.log(“try”) 出现异 ...
 
随机推荐
- Eclipse Java注释模板设置详解
			
设置注释模板的入口: Window->Preference->Java->Code Style->Code Template 然后展开Comments节点就是所有需设置注释的元 ...
 - 51nod1135(求最小原根)
			
题目链接:https://www.51nod.com/onlineJudge/questionCode.html#!problemId=1135 题意:中文题诶- 思路:设m是正整数,a是整数,若a模 ...
 - Js动态设置rem来实现移动端字体的自适应
			
//设置根元素字体 var win = window, doc = document; function setFontSize() { var winWidth = $(window).width( ...
 - notepad++快捷键
			
notepad++现在是我最常用的文本编辑工具,其中使用的列模式编辑,也是很好使用的. 基本的快捷键: Ctrl-C,Ctrl-X,Ctrl-V,Ctrl-Y,Ctrl-A,Ctrl-F,Ctrl-S ...
 - Swift -字符串
			
p.p1 { margin: 0.0px 0.0px 0.0px 0.0px; font: 13.0px Menlo; color: #4dbf56 } p.p2 { margin: 0.0px 0. ...
 - Nginx - 配置
			
1 自动显示目录 autoindex on; 1.1 显示文件大小 autoindex_exact_size off; 默认为on,显示出文件的确切大小,单位是bytes. 改为off后,显示出文件的 ...
 - Makefile笔记之一 ------ 变量的引用及赋值
			
1.变量的引用方式: "$(变量名)"或者"¥{变量名}" 例如: ${Objs}就是取变量Objs的值 注意: 当变量名为单字符是可以采用:"$a& ...
 - Daily Scrum Meeting ——FifthDay(Beta)12.13
			
一.Daily Scrum Meeting照片 二.Burndown Chart 三.项目进展(check-in) 1.制作注册分流的头像 发布者头像 参与者头像 2.完成参与者上传头像的功能:通过本 ...
 - 关于Telerik  RadGridView 数据列拖动后异常的一种情况
			
目的: 想实现带有复杂表头(ColumnHeader)的列的动态加载,写了一个用户控件. 问题: 动态加载成功了,显示正常,滚动条也正常,但是一旦进行列的拖动操作之后,程序就挂掉了. 解决尝试: 反复 ...
 - LINUX 根目录说明
			
linux目录:/bin bin是Binary的缩写.这个目录存放着最经常使用的命令./boot 这里存放的是启动Linux时使用的一些核心文件,包括一些连接文件以及镜像文件./data / ...