首页 > 编程知识 正文

JavaScript对象和变量,js匿名函数和普通函数区别

时间:2023-05-05 06:24:10 阅读:21206 作者:4775

JS调用匿名函数后立即执行的函数往往只执行一次,匿名函数中必须将整个函数放在括号中,并且在后面添加括号才能执行;

(function () {console.log (“匿名函数执行”) } ); *对象的属性值可以是任意数据类型或函数var obj=new Object (; obj.name='sun '; obj.age=18; obj.say name=function ((console.log ) ) obj.name ); }obj.sayName (; *函数也称为对象的属性

*如果函数另存为对象的属性

*中,此函数称为此对象的方法

*调用此函数时,表示如何调用对象

但是,他只是名字的不同,仍然是函数

var obj2={name:'zhu ',age:28,say name : function (} { console.log (obj2. name ) ); }}obj2.sayName (; *枚举对象中的属性

var obj3={name:'zhang ',age:18,gender:'nan ',address: '花果山' }for(varninobj3) { console.log //obj3[n]表示obj3.n的固定用法(*作用域)作用域是指一个变量作用的范围

*1、全球范围

-在脚本标记中直接编写的代码位于全局范围中

* -全局范围在页面打开时创建,在页面关闭时丢弃

-全局范围包含全局对象窗口

*这表示浏览器窗口,由浏览器创建,可直接使用

-在全局范围中,

*创建的所有变量都保存为窗口对象的属性

* var a=10====window.a=10

*创建的所有函数都保存为窗口对象的方法

* -全局范围内的所有变量都是全局变量

*可从页面的任何部分访问

*2、函数作用域

* -在函数调用时创建函数范围,并在函数执行完成后放弃函数范围

-每次调用函数时,都会创建一个相互独立的新函数范围

-可以通过函数范围访问全局范围的变量。 不能相反

-在函数范围内操作变量时,首先在自己的范围内搜索var关键字。

*如果有,直接使用,

*如果不存在,请查找顶部范围,直到找到全局范围

*如果没有全局范围,将报告错误

*在函数中,所有未在var中声明的变量都是全局变量

function fun () {var a=123;//三个函数范围fun (; fun (; fun (; var b=123; 函数fun2() {var b=12; 控制台. log (' b=' b ); //如果要跳过函数范围b直接访问全局范围b,请访问window.b console.log (' b=' window.b ); (}fun2); var c=33; function fun3() console.log ) ) c='c ); 之所以输出c=undefined,是因为存在var,直接查找函数范围中的c,所以此时c没有被声明为var c=66。 //c=66; //var关键字取消后,返回66 ) fun3); *使用变量声明前var关键字声明的变量在所有代码运行之前进行声明(但不赋值)。

*但是,如果在不使用var关键字的情况下声明变量,则不会预先声明变量

*函数的宣言加快

*以函数宣言形式创建的函数function函数名称{}

*在所有代码运行之前创建,因此可以在函数声明之前调用函数

//fun ) )是为函数声明创建的函数,因此可以在任何地方引用它(/函数声明,预先为function fun ) ({console.log ) '我是fun函数) )。 引用fun2(; 必须在下面。 因为他是由变量创建的函数///函数表达式,所以他不会预先创建var fun2=function () {console.log (我是fun2函数) )。 }

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。