您好,欢迎来到保捱科技网。
搜索
您的当前位置:首页JavaScript学习总结

JavaScript学习总结

来源:保捱科技网


JavaScript学习总结 由于以前JavaScript用的比较的少,所以对JavaScript的认识非常的肤浅,这周看了蛮多关于javascript的书和文档,对JavaScript终于有了一些初步的认识,总结一下,希望懂JavaScript的高手多多指点。 1,JavaScript可以作为单独的文件存在但也必须通过在HTML 文档中调用才能起作用,它和大多数脚本语言一样在浏览器中是解释执行。其实JavaScript只要一个txt文本就可以编程了,没不像Java那样需要特定的环境 2.“对象本无根,类型亦无形。本来无一物,何处惹尘埃?”这是我看的一部武功秘籍 里面的一句话,但是它确实讲到了JavaScript的精髓。。JavaScript 就是把数据和代码都简化到最原始的程度看看下面一段有趣的代码: var anObject = {}; //一个对象 anObject.aProperty = \"Property of object\"; //对象的一个属性 anObject.aMethod = function(){alert(\"Method of object\")}; //对象的一个方法 //主要看下面: alert(anObject[\"aProperty\"]); //可以将对象当数组以属性名作为下标来访问属性 anObject[\"aMethod\"](); //可以将对象当数组以方法名作为下标来调用方法 for( var s in anObject) //遍历对象的所有属性和方法进行迭代化处理 alert(s + \" is a \" + typeof(anObject[s])); 同样对于 function 类型的对象也是一样: var aFunction = function(){}; //一个函数 aFunction.aProperty = \"Property of function\"; //函数的一个属性 aFunction.aMethod = function(){alert(\"Method of function\")}; //函数的一个方法 //主要看下面: alert(aFunction[\"aProperty\"]); //可以将函数当数组以属性名作为下标来访问属性 aFunction[\"aMethod\"](); //可以将函数当数组以方法名作为下标来调用方法 for( var s in aFunction) //遍历函数的所有属性和方法进行迭代化处理 alert(s + \" is a \" + typeof(aFunction[s]));,看看下面一段有趣的代码 是的,对象和函数可以象数组一样,用属性名或方法名作为下标来访问并处理。那么,它到底应该算是数组呢,还是算对象?哈哈“对象本无根,类型亦无形”无论对象还是函数,还是类,大家最原始的都一样 3.再就是this了,JavaScript的this和Java的this可不是同一个东西哦,在 JavaScript 函数中,你只能把this 看成当前要服务的“这个”对象。this 是一个特殊的内置参数,根据this 参数,您可以访问到“这个”对象的属性和方法,但却不能给this 参数赋值。

在一般对象语言中,方法体代码中的 this 可以省略的,成员默认都首先是“自己” 的。但JavaScript 却不同,由于不存在“自我”,当访问“这个”对象时,this 不可省略! for example : function WhoAmI() //定义一个函数WhoAmI { alert(\"I'm \" + this.name + \" of \" + typeof(this)); }; WhoAmI(); //此时是this 当前这段代码的全局对象,在浏览器中就是window 对象,其name 属性为空字符串。 输出:I'm of object var BillGates = {name: \"Bill Gates\BillGates.WhoAmI = WhoAmI; //将函数WhoAmI 作为BillGates 的方法。 BillGates.WhoAmI(); //此时的this 是BillGates。输出:I'm Bill Gates of object var SteveJobs = {name: \"Steve Jobs\SteveJobs.WhoAmI = WhoAmI; //将函数WhoAmI 作为SteveJobs 的方法。 SteveJobs.WhoAmI(); //此时的this 是SteveJobs。输出:I'm Steve Jobs of object WhoAmI.call(BillGates); //直接将BillGates 作为this,调用WhoAmI。输出:I'm Bill Gates of object WhoAmI.call(SteveJobs); //直接将SteveJobs 作为this,调用WhoAmI。输出:I'm Steve Jobs of object 4,JavaScript 执行引擎并非一行一行地分析和执行程序,而是一段一段(一(为一段))地分析执行 for example: function myfunc () { alert(\"hello\"); }; myfunc(); //这里调用myfunc,输出yeah 而不是hello function myfunc () { alert(\"yeah\"); }; myfunc(); //这里调用myfunc,当然输出yeah ,在第一次调用myfunc 之前, 第一个函数语句定义的代码逻辑,已被第二个函数定义语句覆盖了。所以,两次都调用都是执行最后一个函数逻辑 好了就到这里了,以后学到更多再编辑吧

因篇幅问题不能全部显示,请点此查看更多更全内容

Copyright © 2019- baoaiwan.cn 版权所有 赣ICP备2024042794号-3

违法及侵权请联系:TEL:199 18 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务