<!DOCTYPE html> <html> <head lang="en"> <meta charset="utf-8"/> <title></title> <script src="../js/jquery-1.10.2.js"></script> <script> // 1 i为全局变量 输出全局变量 function myName(…
在一些类似C语言的编程语言中,花括号内的每一段代码都具有各自的作用域,而且变量在声明它们的代码段之外是不可见的(也就是我们不能在代码段外直接访问代码段内声明的变量),我们称之为块级作用域,然而,不同于这类型的编程语言,javascript是没有块级作用域.取而代之的,javascript使用的是块级作用域:变量在声明它们的函数体以及这个函数体嵌套的任意函数体内都是有定义的. 在如下的所示的代码中,在不同位置定义了变量 i . j 和 k ,它们都在同一个作用域内——这三个变量在函数体内均是有定义…
现象: 1.在JavaScript中变量和函数的声明会提升到最顶部执行. 2.函数的提升高于变量的提升. 3.函数内部如果用var声明了相同名称的外部变量,函数将不再向上寻找. 4.匿名函数不会提升. 5.不同<script>块中的函数互不影响. 例子: 函数声明提升高于变量声明 //同时声明变量a和函数a var a; function a() {} alert(typeof a); //显示的是"function",初步证明function的优先级高于var. //先声…
函数声明 JavaScript中声明函数的方式:(无需声明返回值类型) function add(i1, i2) {             return i1 + i2;//如果不写return返回的是undefined         } int add(int i1,int i2)//C#写法 不需要声明返回值类型.参数类型.函数定义以function开头.         var r = add(1, 2);         alert(r);         r = add("你好&q…
本篇主要体验JavaScript函数的声明.函数参数以及函数闭包. □ 函数的声明 ※ 声明全局函数 通常这样声明函数: function doSth() { alert("可以在任何时候调用我"); } 通过这种方式声明的函数属于Window对象,可以在任何地方调用,即在doSth方法的之前和之后都可以调用. 可以在doSth方法之前调用: doSth(); function doSth() { alert("可以在任何时候调用我"); } 可以在doSth方法之…
hoist vt.升起,提起; vi.被举起或抬高; n.起重机,升降机; 升起; <俚>推,托,举; 原文地址:http://www.bootcss.com/article/variable-and-function-hoisting-in-javascript/ 这篇文章写的真不错,一看就明白了,先收藏! 这篇文章不讲英语,但是对于某些英语单词找不到很好的翻译,一上来就列出“hoist”这个单词的释义是为了让大家有个准备,我在这里将此单词翻译为“提前”,是为了解释 JavaScript 语…
1.首先理解函数作用域 在JavaScript中,变量的定义并不是以代码块作为作用域的,而是以函数作用作用域的.也就是说,如果变量是在某个函数中定义的,那么它在函数以外的地方是不可见的.而如果该变量是定义在if 或者for这样的代码块中,它在代码块之外是可见的.另外,在JavaScript中,术语"全局变量"指的是定义在所有函数之外的变量,与之相对的是"局部变量",所指的是在某个函数中的变量.其中,函数内的代码可以像访问自己的局部变量那样访问全局变量,反之则不行.…
前言:“函数是对象,函数名是指针.”,函数名仅仅是指向函数的指针,与其他包含函数指针的变量没有什么区别,话句话说,一个函数可能有多个名字. -1.函数声明,function+函数名称.调用方法:函数名(参数): function f1(x,y){ return x+y; //函数体 }console.log(f1(2,3)); 这是最常见的指定函数名声明函数,在函数体内返回参数值,函数调用时才会输出结果.既然说到函数,那就免不了提一提它的预解析以及作用域. 此类方法定义的函数,在代码开始执行之前…
函数是由事件驱动的或者当它被调用时执行的可重复使用的代码块. JavaScript 函数的声明与使用 实例 <!DOCTYPE html> <html> <head> <script> function myFunction() { alert("Hello World!"); } </script> </head> <body> <button onclick="myFunction(…
什么是函数? 函数是事件驱动或者被调用时执行的重复代码块. 作用域: 1. 全局作用域 2. 函数作用域(局部作用域) var i = 100; //全局作用域 function fun(){ var j = 10; //局部作用域 console.log(i + j); } fun(); 全局作用域与函数作用域是相对的,比如: i是全局作用域,j和k是函数作用域,而j是k的全局作用域. var i = 100; //全局作用域 function fun(){ var j = 10; //局部作…
最近在学习javascript的函数,函数是javascript的一等对象,想要学好javascript,就必须深刻理解函数.本人把思路整理成文章,一是为了加深自己函数的理解,二是给读者提供学习的途径,避免走弯路.内容有些多,但都是笔者对于函数的总结. 1.函数的定义 1.1:函数声明 1.2:函数表达式 1.3:命名函数的函数表达式 1.4:函数的重复声明 2.函数的部分属性和方法 2.1:name属性 2.2:length属性 2.3:toString()方法 3.函数作用域 3.1:全局作…
1.函数命名规范 函数命名通常以动词为前缀的词组.通常第一个字符小写.当包含多个单词时,一种约定是将单词以下划线分割,就像"like_Zqz()". 还有一种就是"likeZqz()".有些些函数是用作内部用的或者为私有函数通常以一条下划线为前缀,就像"_zqzName()".   2.以表达式方式定义的函数 如: var zqz=function (){ return "zhaoqize"; } 在使用的时候必须把它赋值给一…
在JavaScript中,函数其实也是对象.是函数不同于其他对象的特点是:函数存在一个被称为[[Call]]的内部属性.[[Call]]属性是函数独有的,表明该对象可以被执行.ECMAScript 定义了typeof操作符对具有[[Call]]属性的对象返回 "function".理解函数的行为是理解JavaScript的核心. 一.函数声明式和表达式 1.1 函数声明  以function开头后面跟着函数的名字 function add(num1,num2){ return num1…
JavaScript学习03 JS函数 函数就是包裹在花括号中的代码块,前面使用了关键词function: function functionName() { 这里是要执行的代码 } 函数参数 函数的参数可以任意多个,不用声明变量类型,只用给出变量名: function myFunction(name, job) { 这里是要执行的代码 } 函数返回值 在函数中使用return语句,函数会停止执行,返回调用它的地方. 函数的返回值也不用声明类型,直接返回即可. function myFuncti…
和其他很多解释性语言一样,JavaScript同样可以解释运行由JavaScript源代码组成的字符串,并产生一个值.JavaScript通过全局函数eval()来完成这个工作. eval(“1+2”),-> 3 动态判断源代码中的字符串是一种很强大的语言特性,几乎没有必要在实际中应用.如果你使用了eval(),你应当仔细考虑是否真的需要使用它. 一.eval()是一个函数还是一个运算符 eval()是一个函数,但由于它已经被当成运算符来对待了..JavaScript语言的早期版本定义了eval…
匿名函数,普通函数,变量函数,基于对象的方法 介绍它们的优劣点(性能,执行条件,可维护性,适合大型还是小型) Javascript有着灵活多变的函数方法,具体选用何种形式,都会极大地影响应用程序的编写方式及性能.考虑到项目的多样化,应该在各种情况下选用最为适用的方案. 普通函数 我们使用的Salad()就是这样的一个标准函数,它以function关键字开头,其后是函数名.参数列表以及函数内容本身.此函数也会返回一个通过计算而得出的数值. //这是一个普通函数 function Salad(tot…
函数是根基 理解函数为什么如此重要 JavaScript 是一门 函数式语言 . 函数为什么是第一型对象 在 JavaScript 中,函数可以共处,可以将其视为其他任意类型的 JavaScript 对象而进行使用,除此之外,函数还有一个特殊的功能,它们可以 被调用(通常以 异步方式 进行调用). 对象在 JavaScript 中有如下功能: 它们可以通过字面量创建. 它们可以赋值给变量.数组或其他对象的属性. 它们可以作为参数传递. 它们可以作为函数的返回值进行返回. 它们拥有动态创建并赋值的…
简介 在很多传统语言(C/C++/Java/C#等)中,函数都是作为一个二等公民存在,你只能用语言的关键字声明一个函数然后调用它,如果需要把函数作为参数传给另一个函数,或是赋值给一个本地变量,又或是作为返回值,就需要通过函数指针(function pointer).代理(delegate)等特殊的方式周折一番. 而在JavaScript世界中函数却是一等公民,它不仅拥有一切传统函数的使用方式(声明和调用),而且可以做到像简单值一样赋值.传参.返回,这样的函数也称之为第一级函数(First-cla…
精简的美丽...... javascript prototype 对象 函数 在javascript中我们都知道创建一个对象使用如下代码var x = {}对象可以拥有属性和方法var x = {    value : 0,    add : function(a,b){        return a + b;    }} 而创建一个函数时,使用var fx = function(){}    <func1>或function fx(){}            <func2>…
javascript函数的声明和调用将完成某一特定功能的代码集合起来,可以重复使用的代码块. 一.函数的声明方式(创建) A.基本语法(function  关键字)function 函数名([参数1],[参数2]....){    函数体    [retrun]  //返回值} function a(){ alert(1) }; B.字面量定义的形式(匿名函数)var 变量=function ([参数1],[参数2]....){    函数体    [retrun]  //返回值} var a=…
JavaScript 函数语法 函数就是包裹在花括号中的代码块,前面使用了关键词 function: function functionname() { 这里是要执行的代码 } 当调用该函数时,会执行函数内的代码. 可以在某事件发生时直接调用函数(比如当用户点击按钮时),并且可由 JavaScript 在任何位置进行调用. 提示:JavaScript 对大小写敏感.关键词 function 必须是小写的,并且必须以与函数名称相同的大小写来调用函数 调用带参数的函数 在调用函数时,您可以向其传递值…
原文:javascript立即调用的函数表达式N种写法(第二篇) 上一篇博客我谈到将函数声明转换为函数表达式最常见的一种写法是:通过括号()将匿名函数声明转换为函数表达式即(function(){})(); 言外之意就是还有其他方式,记住:任何消除函数声明和函数表达式间歧义的方法,都可以被解析器正确识别!它们可以分为5类,超过10多种: (function(){})(); //最常见的写法 下文没特殊指明就是指它 (function(){}); //容易与上面的混淆 [function()()]…
概要:本篇博客主要介绍函数的一些类型以及常见示例 1.匿名函数 使用匿名函数的常见示例: window.onload = function(){ assert(true,'power!'); }; //创建一个匿名函数作为事件处理程序,这里无需定义函数名,直接在其位置为其赋值即可; var ninja = { shout: function(){ assert(true,"Ninja"); } }; ninja.shout(); //创建一个函数,将其作为ninja的一个方法,使用sh…
概要:本篇博客主要介绍了JavaScript的函数. 1.第一型对象 JavaScript的函数可以像对象一样引用,因此我们说函数是第一型对象.除了可以像其他对象类型一样使用外,函数还有一个特殊的功能,它们可以被调用.这些调用,通常是以异步的方式进行调用. 2.回调 回调是高效利用JavaScript必不可少的一部分. 3.函数声明 如果一个函数不需要用名称进行引用,则不需要对它命名.命名一个函数时,该名称在整个函数声明范围内都是有效的.此外,函数声明在顶层,window对象上的同名属性则会引用…
函数主要用来封装具体的功能代码. 函数是由这样的方式进行声明的:关键字 function.函数名.一组参数,以及置于括号中的待执行代码. 格式: function 函数名(形参列表){        函数体 ;        } javascript的函数要注意的细节:    1. 在 javascript中函数定义形参时是不能使用var关键字声明变量的,直接写参数名即可.    2. 在javascript中的函数是没有返回值类型 的,如果函数需要返回数据给调用者,直接返回即可,如果不需要返回…
函数 函数声明提升,在执行代码之前会先读取函数声明 sayHi(); function sayHi(){ alert("Hi!"); } 递归 arguments.callee是指向正在执行的函数的指针 还可以换种方式达成一样的效果 var factorial = (function f(num){ ){ ; } else { ); } }); 函数执行的作用域链 function compare(value1, value2){ if (value1 < value2){ ;…
首先这是js的一种函数调用写法,叫立即执行函数表达式(IIFE,即immediately-invoked function expression).顾名思义IIFE可以让你的函数立即得到执行(废话). 一般来说,IIFE有以下几种用途: 1. 创建只使用一次的函数,并立即执行它. 2. 创建闭包,保存状态,隔离作用域. 3. 作为独立模块存在(例子如jQuery),防止命名冲突,命名空间注入(模块解耦). 1. 创建只使用一次的函数,并立即执行它 创建只使用一次的函数比较好理解,在需要调用函数的…
什么是JavaScript? 我们可以从几个方面去说JavaScript是什么: 基于对象 javaScript中内置了许多对象供我们使用[String.Date.Array]等等 javaScript也允许我们自己自定义对象 事件驱动 当用户触发执行某些动作的时候[鼠标单机.鼠标移动],javaScript提供了监听这些事件的机制.当用户触发的时候,就执行我们自己写的代码. 解释性语言 javaScript代码是由浏览器解析的,并不需要编译. 基于浏览器的动态交互技术 既然javaScript…
1. 简介 Generator函数时ES6提供的一种异步编程解决方案.Generator语法行为和普通函数完全不同,我们可以把Generator理解为一个包含了多个内部状态的状态机. 执行Generator函数回返回一个遍历器对象,也就是说Generator函数除了提供状态机,还可以生成遍历器对象.Generator可以此返回多个遍历器对象,通过这个对象可以访问到Generator函数内部的多个状态. 形式上Generator函数和普通的函数有两点不同,一是function关键字后面,函数名前面…
[01]-javaScript函数基础 1.1 函数的创建和结构 函数的定义:函数是JavaScript的基础模块单元,包含一组语句,用于代码复用.信息隐蔽和组合调用. 函数的创建:在javaScript语言中,可以说函数是其最重要也最成功的设计.我们可以通过三种方式来创建函数. ① 函数声明② 字面量方式创建③ 使用Function构造函数创建 代码示例 //01 函数声明 //函数名称为:f1,a和b为该函数的形式参数(形参) function f1(a,b) { return a + b;…