JS函数/预编译

一、函数:

  1.函数声明:

    function test() {};

  2.函数表达式:

    var test=function () {};

  3.参数:

    function test(a,b) {        //a,b形参

      //var a;

      //var b;

      var c=a+b;

      document.write(c);

    }

    test(1,2);       //1,2实参

  4.实参列表:

    arguments[];

二、预编译:

  1.预编译:

    (1) 创建AO对象;(全局创建的为GO===window)

    (2) 找形参和变量声明,将形参和变量声明作为AO属性名,值为undefined;

    (3) 将实参值和形参统一;

    (4) 在函数体里面找函数声明,值赋予函数体;

  2.构造函数:

    (1) 用法:function Test() {};

      var test=new Tset();

    (2) .prototyppe; 原型属性

    (3) .constructor; 目标函数

    (4) __proto__

原文地址:https://www.cnblogs.com/Tractors/p/11079225.html

时间: 2024-11-02 10:15:44

JS函数/预编译的相关文章

JS的预编译和执行顺序 详析

原文:JS的预编译和执行顺序 详析 最近在复习javascript的事件处理时发现了一个问题,然后也是我来写javascript的预编译和执行顺序的问题   代码:   复制代码 代码一 <html>   <head>     <title>事件处理</title>     <meta http-equiv="content-type" content="text/html;charset=utf-8"/>

js 变量预编译

js是按照顺序执行的: 但是在js中会对var和function进行预编译: alert(show); function show(){ var a; } 比如以上代码,alert就会输出function. 但是对于var的预编译,刚刚是自己理解错了, 如下代码,a输出都是undefined. b会直接报错,b is not defined. alert(a); alert(b); var a; 汇总下要点: 1.js在页面加载过程中顺序执行.但是分块预编译.执行. 2.JS 在执行前会进行类似

js的预编译机制

1.var定义的是“当前作用域下的一个变量”,当在函数内部不使用var声明时,会被当做全局变量而不是函数内的局部变量(严格模式下还会报错) 2.js的预编辑:[对定义式函数]直接创建为作用域上的函数变量,并将其值初始化为定义的函数代码逻辑,也就是为其建立了可调用的函数变量. 3.js的预编辑:[对var定义的变量] 会在开始先全部找出来,并且将初始值设为undefined 4.[对上面代码的解释]:第一个yourname是undefined:在js开始解析时获得了第一行的yourname声明和函

JS的预编译和执行顺序 详析(及全局与局部变量)

最近在复习javascript的事件处理时发现了一个问题,于是总结一下:javascript的预编译和执行顺序的问题:   <html> <head> <title>事件处理</title> <meta http-equiv="content-type" content="text/html;charset=utf-8"/> <script type='text/javascript'> //页

js的预编译

js执行的三步:语法检查,预编译,解释执行. js预编译前:window对象==全局 1.任何位置上的变量未声明直接赋值是全局变量,发到window里 2.在函数外声明的变量也是全局,放到window里. js预编译时:对函数来说 1.生成函数的AO对象(作用域) 2.把函数的形参和变量声明放到AO对象中,作为属性 3.形参和实参相对应(实参的值传给形参) 4.把函数声明的函数名放到AO对象里,作为属性 js预编译结束后,进行解释执行,执行时,变量和函数的声明不执行 原文地址:https://w

js的预编译、全局变量、局部变量相关知识

1.未声明的变量就赋值, 此变量归全局变量window对象所有 console.log(a); //a is not defined a=10 console.log(a); //10 等价于 console.log(window.a) function test(){ var a = b = 123; } test(); console.log(b) //123 b未声明就赋值归为window对象所有, 等价于console.log(window.b); console.log(a) //a

JavaScript函数——预编译

四部曲 创建AO对象 找形参和变量声明,将变量和形参名作为AO属性名,值为undefined. 将实参值和形参值统一 在函数体内找函数声明,值赋予函数体. 权重按顺序依次增加.以下例子即可体现上述规则 function fn(a){ console.log(a); var a = 123; console.log(a); function a(){} console.log(a); var b = function(){} console.log(b); } fn(1); //f a(){} /

函数 预编译

var str = false + 1; console.log(str);// 1 var demo = false == 1; console.log(demo);// 0 if (typeof(a) && -true + (+undefined) + ''){ console.log('不错'); } if (11 + "11" * 2 ==33){ console.log('不错') } !!" " + !!"" -!!f

实例讲解js中的预编译

js作为一本脚本语言,可以不经过编译直接运行,但遇到预编译的问题,尤其是变量或函数同名时,这点知识就尤其必要了.为了更好地了解js语言背后的运行机理.笔者采用实例化的方式讲解我理解的预编译.    理解预编译首先要弄清楚两种概念:函数声明和变量赋值. function ledi(){ }//函数声明 这种形式的写法是函数声明,即声明一个函数,脚本在执行之前会做预编译处理. var ledi= function(){ }//变量赋值   这种写法是变量赋值,函数在js语言里也是一种数据,匿名函数作