- 浏览: 673707 次
- 性别:
- 来自: 上海
最新评论
-
TheUniqueGirl:
Tomcat系统架构与设计模式:http://www.doci ...
Tomcat -
aykjy:
...
UML常见工具之NetBeans(downmoon) -
不老肖邦:
谢谢提供的简单示例
JAVA toString()
javascript进阶之变量篇
仔细的看了看<javascript权威指南>,算笔记吧 代码
代码
猜猜以下代码输出什么。 代码
如果你的答案是 000 undefined bbb aaa。恭喜,ok.当代码用到x变量时,先从函数块(权威指南中用调用对象来解释)中找,如果找不到,从上一级函数块找,直到找到,如果知道顶层代码(指var x='000';的位置)还没找到定义,代码会报未定义错误。 改一下代码,得到 000 undefined 111 111 代码
3、新的问题 变量个作用域清楚了,注意上面的代码。为什么我的function a()定义以前就可以调用a函数了,而我的var x='111';前“不可以用”x啊??? 让我把我的理解一一道来 首先:以下代码让我相信javascript有个预编译过程,不是完全按照顺序解释执行的。 代码
个人理解这个预编译过程不会象java/c#那样把代码编译成虚拟机认识的语言,更不会象vb,vc那样编译成更底层的语言。猜想只是把这个函数预装载到这段函数执行的全局环境中,在这个执行环境中,该函数被标识定义过,可以直接使用了。(看到网上很多人写的AOP的javascript实现,其实这个预编译过程才是翻译元数据最佳时候,可惜就javascript语言来讲,是有些落伍了) 这个文章主要讲变量的一些问题。变量说了,为什么函数可以,我变量就不可以呢。 代码
为什么我要输出undefined呢?为什么我a就不可以预编译一把呢? 大家看看以下两段代码会输出什么呢啊??? 代码
代码
可能你运行试了,可能你本来就知道,a未定义。哈哈哈,好了。 关于函数与变量javascript预编译的不同处理,大家可以与java class的加载过程比较下。java也是对基本类型设出值,对象为null的。(不往远扯了) 代码
代码
未定义变量和未附值变量 权威指南中文版 定义的。通过第三条分析,我觉得变量就应该以 定义和未定义变量区别。未附值变量和undefined有点冲突,javascript不是强类型语言,没发附默认值,才来了个undefined。 5、基本类型和引用类型 熟悉java的朋友可能这部分很清楚。没啥 说头。 6、javascript的垃圾回收 关于这部分内容一直没见着个权威说法。在javascript权威指南中有两小节提到这个问题。 对于字符串、对象、数据这些没有固定大小,必须为它们动态的分配内存,但什么时候回收这些内存呢?javascript使用和java一样的garbage collection的方法。 代码
运行这段代码后,"hello"没有变量会再用到他,这是"hello"的存储空间的被垃圾回收了。对于javascript的垃圾回收,你唯一要关心的是,它一定会进行,不要对内存担心。 注意,javascript不提供任何的强制垃圾回收或释放内存的运算附或语句。 javascript的delete运算附和C++中的不同。 代码
7、作为属性的变量 代码
估计很多人能得出正确答案 代码
在函数的调用过程中,假设有个调用对象存在,把函数的参数,和函数内的临时变量当成这个调用对象的属性。当然这个调用对象的生命周期很短。 |
评论 共 12 条 | 发表评论 |
代码
我想知道一共会有多少个bar函数对象产生。。。 |
在javascript中,function作为一个关键字有两方面的应用。 代码
在这,如果用add(2,3);调用,返回的结果都是5。但它们使用有很大的区别,后面在详细解释。 2、函数的参数 代码
看例子,基本你可以把arguments当成个数组使用,但并不是真正的数组。 虽然arguments.length and arguments[index]可以在函数内改变,但建议你不要在函数内改变它们。关于arguments的具体用法可以看prototype.js. arguments还有个属性 callee.引用当前正在执行的函数。 代码
3、函数是一种数据类型 代码
其实javascript的熟手不会在全局变量里(直接在js文件中)定义函数,都会定义在全局变量的属性字段中。如 代码
如果这种写法,我们就基本不会和别人写的程序发生命名上的冲突了。 4、函数的生命周期 代码
a、javascript预编译过程(在html中, </head>前后,<body>内外有特殊情况,这指纯.js文件中) 代码
首先:预编译代码,把s、fun设置为golbe的属性,并赋值s=undefined,fun=函数定义(可以直接调用)。 然后:按照顺序解释执行代码。赋值s="golbe"; 函数已经可以直接调用了。 调用对象是个暂时对象,生命周期很短,只有在调用过程中存在,递归可能会建立多个独立的调用对象。 5、函数的属性和方法 a、length 代码
b、prototype 这个属性引用的是预定义的原型对象,只有在new 函数名 才有效。讲解对象时介绍。 c、定义自己的函数属性 代码
d、apply() call()方法 |
hongliang 写道
代码
我想知道一共会有多少个bar函数对象产生。。。 三次 foo(); 虽然没多少人看,但我还是继续下去吧。至少使自己对javascript的理解加深不少。 |
引用
虽然没多少人看,但我还是继续下去吧。至少使自己对javascript的理解加深不少。
正在关注这个 继续啊哥们 |
在楼主写的文章中学到了不少东西,thanks! 提问一下,我有一个mainframe, 里面包含两个子frame:frame1,frame2,它们共用到了一个Test.js! 代码
代码
我现在分别在fram1和frame2中调用了Test.js中的Init函数, 并输出变量c和c1, 代码
代码
|
相关推荐
JavaScript进阶:JS的全局变量和全局函数.docx
主要介绍了JavaScript变量声明提升,结合实例形式分析了JavaScript变量声明提升相关原理、用法与操作注意事项,需要的朋友可以参考下
欢迎您继续学习Javascript进阶教程。在此之前我们已经学习了Javascript初级教程。在这一阶段的学习中我们将继续学习在上次的教程中还没有来得及谈及的问题。我还将向你们展示Javascript的许多神奇功能,使你能够制作...
上一篇文章分享了《带你学习Javascript中的函数进阶(一)》,今天继续学习javascript的函数进阶的内容。 文章目录1 严格模式1.1 什么是严格模式1.2 开启严格模式3.3 严格模式中的变化2 高阶函数3 闭包3.1 变量作用...
第2章JavaScript数据类型与变量 2.1变量的标识 2.2作用域 2.3简单类型 2.4常量:有名称但不改变 2.5习题 第3章运算符和语句 3.1JavaScript语句的格式 3.2简单语句 3.3条件语句和程序流 3.4条件运算符 3.5逻辑运算符 ...
5、JavaScript进阶与轮播和飞机大战坦克 6、JQuery基础 7、JQuery提升 8、H5C3基础 第三章 Django 1、Django基本流程走通 2、Django中的模型 3、Django中的视图 4、Django中的模板 5、Django的高级使用 6、Django爱...
概括的说作用域就是一套设计良好的规则来存储变量,并且之后可以方便地找到这些变量。 1.1 块级作用域 在C、Java、C#等编程语言中,下面的语法报错(伪代码) { var num = 123; { console.log( num ); // num =>...
JavaSciptDOM基本操作,JavaScipt函数基础,JavaScipt流程语句,JavaScript变量,JavaScript数据类型,JavaScript数组,JavaScript正则表达式,JavaScript字符串函数,Window对象等图解。JS高手进阶的工具图谱
全系列预计10-15篇文章,欢迎大家指正,虚心学习提高深入变量对象立即执行函数看透闭包函数参数传递基本数据类型你真的了解Js吗JavaScript专项进阶系列变量与函数提升数组去重防抖专题节流专题深浅拷贝数据类型检
第1部分 JavaScript.cCSS与DOM基础篇 第1章 ccJavaScript概述 1.1 JavaScript的起源 1.2 浏览器之争 1.2.1 DHTML 1.2.2 浏览器之间的冲突 1.2.3 标准的制定 1.3 JavaScript的实现 1.3.1...
中文名: JavaScript网页特效应用与开发手册 作者: 曹育诚图书分类: 网络 资源格式: PDF 版本: 扫描版 出版社: 知城数位书号: 9789570435139发行时间: 2000年10月03日 地区: 台湾 语言: 繁体中文 简介: 内容介绍...
(1)\第01天-JavaScript进阶和高级 ├─01浏览器生成dom树.png ├─02模拟鼠标事件.png ├─03引用类型对象.png ├─04关于引用类型变量的语法检查.png ├─05关于引用类型传参.png ├─06-多线程调度.png ├─07-...
每个执行环境都有一个与之关联的变量对象。 变量对象 环境中定义的所有变量和函数都保存在这个对象中。 全局执行环境 全局执行环境是最外围的一个执行环境。在web浏览器中,全局执行环境被认为是Window对象,因此...
JavaScript基础语法03_变量 JavaScript基础语法04_数据类型 JavaScript基础语法05_进制 JavaScript基础语法06_进制转换 JavaScript基础语法07_连接符和转义字符 JavaScript基础语法08_算数运算符 JavaScript基础语法...
JavaScript进阶-执行上下文(理解执行上下文一篇就够了) JavaScript进阶-执行上下文栈和变量对象(一周一更) 再来40道this面试题酸爽继续(1.2w字用手整理) 为什么 0.1 + 0.2 = 0.300000004 JS事件流 JS事件循环 es6 ...
包括了css,javascript,vue,webpack,vite,html5新特性等等,包括了面试中比较常见的BFC,v8垃圾回收机制,vite和webpack的区别,vue中遇到的问到,防抖节流,深拷贝,浅拷贝,盒子模型,作用域,闭包,浏览器...
JavaScript基础:变量、常量、数据类型、类型转换、运算符、语句、数组、函数、对象、堆栈 Web API:DOM操作、定时器、事件、回调函数、日期对象、节点操作、移动端事件、Windows对象、本地存储、正则表达式 ...
1、JavaScript中定义函数有2钟方法: 1-1.函数声明: 代码如下:function funcName(arg1,arg2,arg3){ //函数体} ①name属性:可读取函数名。非标准,浏览器支持:FF、Chrome、safari、Opera。 ②函数声明提升:指...
第1部分 JavaScript.cCSS与DOM基础篇 第1章 ccJavaScript概述 1.1 JavaScript的起源 1.2 浏览器之争 1.2.1 DHTML 1.2.2 浏览器之间的冲突 1.2.3 标准的制定 1.3 JavaScript的实现 ...