摘要:
函数内部的属性 在函数内部,有两个特殊的对象:arguments和this。其中arguments是一个类数组对象,包含着传入函数中的所有参数。虽然arguments的主要用途是保存函数参数,但这个对象还有一个名叫callee的属性,该属性是一个指针,指向拥有这个arguments对象的函数。 函数内部的另外一个特殊对象是this,其行为与java和C#的this大致相似。换句话说,this引用的是函数据以执行的环境对象。 1 window.color = "red"; 2 var o = { color: "blue" }; 3 4 function 阅读全文
摘要:
js高级编程中对于原型对象,之前看的时候并没有很在意,今天看到js中的继承,原型链,于是回过头来重温一下原型模式。概念1:我们创建的每个函数都有一个prototype(原型)属性,这个属性是一个指针,指向一个对象,而这个对象的用途是包含可以由特定类型的所有实例共享的属性和方法。这一点很像.net中的静态属性和方法。这一点对于代码的重用由很好的帮助,而且对于prototype属性的更改可以是动态的。 prototype中的属性是所有类成员说共有的。概念2:constructor——无论什么时候,只要创建了一个新函数,就会根据一组特定的规则为该函数创建一个prototype属性,这个属性指向函数. 阅读全文
摘要:
1.Array类型js中的数组与其他多数语言中的数组有着相当大的区别。虽然js中的数组与其他语言中的数组都是数据的有序列表,但是与其他语言不同的是:1.js中的数组每一项都可以保存任何类型的数据。2.js数组大大小可以动态调整的。2.array的栈方法LIFO,js中的数组提供了一种让数组的行为类似于其他数据结构的方法。具体来说,数组可以表现的酒香栈一样,后者是一种可以限制插入和删除项的数据结构。js为数组专门提供了push()和pop()方法,一遍实现类似栈的行为。push()方法可以接受任意数量的参数,把他们组个添加到数组末尾,并返回修改后数组的长度。而pop()方法则从数组的末尾移除最后 阅读全文
摘要:
今天看到了第四章,变量作用域,里面提到了作用域链(scope chain)。开始没有明白是什么意思。后来联想到前文中提到的环境栈——当执行流进入一个函数时,函数的环境就会被推入一个环境栈中。而在函数执行之后,栈将其环境弹出,把控制权返回给之前的执行环境。想到这里,之前对于数据结构和作用域的理解感觉就豁然开朗了。在编译器检查作用环境时,首先会将最外层的作用环境(变量、函数)压入到作用域栈中,然后在向下编译。当遇到另一个作用域时,将其再压入作用域栈中,但是,内层的作用域可以访问外层作用域中的变量、函数,这是只需要先栈中向下查找所使用的变量是否在栈中即可判断。当该作用域结束后,将其弹出即可。rule 阅读全文
只有注册用户登录后才能阅读该文。 阅读全文
摘要:
ARCENGINE开发经典贴(转)2009-07-10 12:224116人阅读评论(19)收藏举报c#工具datagridweblogicvb.netvba使用ArcGIS Engine 开发自定义GIS应用:第一部分:使用ArcGIS Engine 发布自定义GIS应用软件-全面了解ArcGIS Engine的产品。第二部分:ArcEngine9.2的新特性及变化、(续)--类对比及变化、(续)--(代码转换插件)、(续)--ArcEngine新命令,工具、菜单和面板第三部分:使用 ArcGIS Engine开发应用程序(自定义或嵌入)第四部分:开发Engine 应用程序的基本原理、(续) 阅读全文
摘要:
这两天在写程序,一直在想模块之间的信息交流到底用什么方式,GUI中接收到的数据如何才能和逻辑层中的业务进行交流,一开始我使用的是字符串,感觉这种方式很不好,于是开始考虑使用对象来传递消息。使用字符串是一开始编程的时候很容易想到的,很直观简单,可是使用的时候就不是这个样子了,使用字符串的话,模块之间的耦合会加大,不利于软件的更改。比如说我现在遇到的情况。一开始用户只需要选择要比较的图层和要比较的属性项,可是现在要增加一个容限值(tolerance)参数,我的修改就很麻烦了。 //GUI中的对象,_selectedFeatrClsesList,_slctedFieldsLis... 阅读全文
摘要:
最近有一个bug困扰了很久,找了半天终于发现了,现在做个总结,方便以后查阅。在开发过程中,有一个问题就是IFeatureClass.Search()方法,这个方法中有两个参数。public IFeatureCursor Search ( IQueryFilter filter, bool Recycling); 第一个参数是查询条件,不多介绍,第二个参数是是否进行垃圾回收,对于这个参数的设置,有很多的学问。网上的查询教程一般都是设置为false。但是也有人提出设置为true的话会更快一些,在arcengine的开发帮助文档中也有提到。Therecyclingparameter c... 阅读全文
摘要:
在应用泛型中,我们经常使用Dictionary,经常会用到Dictionary到List的转换。经过各位高人指点后,做出适当调整,以免误人子弟,特此对关注此帖的同仁深表感谢。希望能继续提醒、斧正。Dictionary转换为List通常方法,可以有五种:1、创建List的时候,将Dictionary的Value值作为参数2、创建List后,调用List.AddRange方法3、建立List,循环Dictionary逐个赋值4、通过Linq查询,得到结果后调用ToList方法5、用Dictionary对象自带的ToList方法但是五种方法如何取舍呢?性能方面哪种更好一点呢?针对此疑问,特做了测试验 阅读全文