Ruffy javascript 学习笔记


Posted in Javascript onNovember 30, 2009

1,javascript的原型模型:prototype 在实现面向对象,(像是定义一个类的时候)需要一个构造函数来定义对象的成员,而方法去依附在该构造函数的原型上.

2,javascript中,为了实现继承,必须将子类构造函数的prototype设置为一个父类的对象实例.

3,css的方块套方块模型:
最外是margin 是用来设置一个元素所占的空间的边缘到相邻元素的距离
边框:border 用来设定一个元素的连线
padding 用来设置元素内容互元素边框的距离
还有背景属性是content 和 padding 区域,即内容和间隙
css中的属性中的 width 和 height 指的是 content 区域的宽和高,这是IE中,在firefox里得加上上面的边边框框。

4,System.Drawing.Imaging.BitmapData..将一个bitmap锁定到内存中..
有两个函数将图像数据锁定到内存中
一个是:Bitmap.LockBits(Rectangle rect,ImageMode flags,PixelFormat format)
还有一个是:Bitmap.LockBits(Rectangle rect,ImageMode flags,PixelFormat format,BimapBitData bitmapData)
bitmapData 有一个重要的属性Scan0,是一个指针,指向图片数据所在内存的第一个位置.使用内存跟踪,将Scan0的值填入地址中,可以看到内存的分配情况.
我们可以用System.Runtime.InteropServices.Marshal.WriteByte(IntPtr ptr,byte val)来改更改指定位置的像素值了.
IntPtr 类型称为"平台特定整数类型",它用于本机资源,如窗口句柄句.

5,反射:反射是一个运行库类型发现的过程.通过反射可以得到一个给定程序集所包含的所有类型的列表,这个列表包括了给定类型中定义的方法,字段,属性和事件.也可以动态地发现一组给定类支持的接口,方法的参数和其他相关信息如基类,命名空间,数据清单等.
javascript 里的 for/in 语句:
for(variable in obj)
statement;
最有用的一个功能就是它可以枚举一个对象所有可枚举的属性,包括原生属性和继承属性,这样就为javascript提供了一种很强大的反射机制.
例如:
--for(var each in document.body)
-- document.write(each+":"+document.body[each]+<br />);
--//枚举并打印出body所有的属性
variable 可以是任意的表达式..
比如:
--function keys(obj){
-- var ret= new Array();
-- var i=0;
-- for(ret[i++] in obj)
-- return ret;
-- }
以上函数将一个对象的属性作为一个数组返回.

6,html-table 控件cellpadding 单元格里的内容与单元格之间的距离
cellspacing属性表示单元格之间的距离
对齐方式有:align 是水平对齐有left right center(指的是单元格里的元素在水平方向上的对齐)
vlign 是垂直对齐 有top bottom middle

7,Base64:按照RFC2045的定义,Base64被定义为:Base64内容传送编码被设计用来把任意序列的8位字节描述为一种不易被人直接识别的形式。(The Base64 Content-Transfer-Encoding is designed to represent arbitrary sequences of octets in a form that need not be humanly readable.)

8,margin:0px auto 上下边距为0px 左右自动调整。

9,js里 opener 和 self的区别:opener对<打开当前窗口的对象>的引用,如果当前窗口被用户打开,则opener的值为null
self自引用属性,是对当前window对象的应用,与window属性同义.
(self代表自身窗口,opener代表打开自身的那个窗口,比如窗口A打开窗口B.如果靠window.open方法,则对于窗口B,self代表B自己,而opener代表窗口A.)

10,wnd.location.search.slice(1); //得到地址栏上"?"后面的字符串,wnd是一个window对象的引用.

11,表达式中g的含义
g /global 代表全局搜索
i /ignore 代表忽略大小写
gi 以上的组合

12,正向预查和反向预查
(?=pattern) (?!pattern) 非获取,只是为了检验后面出现的是不是预想的字符串

13,setcapture 鼠标捕获:鼠标捕获(setCapture)作用是将鼠标事件捕获到当前文档的指定的对象。这个对象会为当前应用程序或整个系统接收所有鼠标事件。setCapture捕获以下鼠标事件:onmousedown、onmouseup、onmousemove、onclick、ondblclick、onmouseover和onmouseout。

14,javascript 里用in delete 和用对象作为集合,可以很方便的实现一个集合(delete 运算符删除所指定的对象属性,数组元素,或者变量.删除成功返回true.同时 若运算数不存在时也返回true)
例如:
---var aSet= new Object();
---sSet["key"]=true; //插入新元素(无论是否已经存在)
---if("key1" in aSet)
--- delete aSet["key1"] //如果key1存在就删除
---if(delete aSet["key2"])
--- aSet["key2"]=true; //删除原有元素,更新key2

15,js里的-0 和 |0 操作前者可以将一个字符隐式转换为一个数字,后者会将一个符点数取整.

16,[] :存取对象和数组元素的双目运算符。
当[] 的第二个运算数为对象时,先调用它的toString() 方法来进行转换,如果转换失败,再调用valueOf()方法来转换。

17,javascript异常总是沿调用堆栈向上传播,事件传播也是沿相同的方向.

18,javascript数组的length属性不但可以读还可以写,设置数组的length为0,可以清除数组中的所有元素(不包括那些数组下标不为整数的数组元素.)

19,虽然null 和 undefined 不同但运算符 "==" 却将它们视为相等的值(返回 true)

20,javascript 装箱和拆箱:把基本数据类型转换为对应的引用类型的操作被称为装箱,反之,把引用类型转换为对应的值类型,被称为拆箱.

21,JSON :对象常量&数组常量
javascript object notation javascript<对象表示方法>
JSON 是由javascript发展而来的一种简单的数据交换协议,它的数据格式就是一个合法的javascript对象常量

22,absolute属性与left、top配合起来制作相关的“悬浮层”效果。然而有时候我们需要针对某一个容器的悬浮效果,而不是针对窗口的。这时候通过高度、宽度的计算不但麻烦,而且几乎无法完美实现效果。只要把其上一级的样式属性position设置为relative就可以了。如用div 嵌套 ul 和 li

23,关于DOM元素的移动:用object.appendChild(object.firstChild)可以将第一个元素移到最后,但是这在table元素上应用的时候的移动了</body>标签外面(不显示)..所以移动table元素里的行的时候应该用MoveRow 方法.

Javascript 相关文章推荐
JQuery中根据属性或属性值获得元素(6种情况获取方法)
Jan 17 Javascript
基于jquery插件制作左右按钮与标题文字图片切换效果
Nov 07 Javascript
如何在JavaScript中实现私有属性的写类方式(一)
Dec 04 Javascript
javascript学习小结之prototype
Dec 03 Javascript
详解AngularJS ng-class样式切换
Jun 27 Javascript
underscore之Chaining_动力节点Java学院整理
Jul 10 Javascript
vue-devtools的安装步骤
Apr 23 Javascript
Vue中保存数据到磁盘文件的方法
Sep 06 Javascript
vue微信分享出来的链接点开是首页问题的解决方法
Nov 28 Javascript
vuex页面刷新后数据丢失的方法
Jan 17 Javascript
基于js实现逐步显示文字输出代码实例
Apr 02 Javascript
jQuery实现鼠标拖拽登录框移动效果
Sep 13 jQuery
jquery 分页控件实现代码
Nov 30 #Javascript
JS 动态获取节点代码innerHTML分析 [IE,FF]
Nov 30 #Javascript
Aptana调试javascript图解教程
Nov 30 #Javascript
jQuery chili图片远处放大插件
Nov 30 #Javascript
document.body.scrollTop 值总为0的解决方法 比较常见的标准问题
Nov 30 #Javascript
javascript 设置某DIV区域内的checkbox复选框
Nov 30 #Javascript
Javascript 构造函数,公有,私有特权和静态成员定义方法
Nov 30 #Javascript
You might like
JavaScript与HTML结合的基本使用方法整理
2015/10/12 PHP
PHP dirname简单使用代码实例
2020/11/13 PHP
js变量作用域及可访问性的探讨
2006/11/23 Javascript
写出更好的JavaScript之undefined篇(上)
2009/11/22 Javascript
jQuery判断复选框是否勾选的原理及示例
2014/05/21 Javascript
jQuery实现网站添加高亮突出显示效果的方法
2015/06/26 Javascript
简单介绍JavaScript数据类型之隐式类型转换
2015/12/28 Javascript
JavaScript基本语法学习教程
2016/01/14 Javascript
AngularJS中处理多个promise的方式
2016/02/02 Javascript
ajax前台后台跨域请求处理方式
2018/02/08 Javascript
Vue插件打包与发布的方法示例
2018/08/20 Javascript
详解Next.js页面渲染的优化方案
2019/01/27 Javascript
微信小程序判断页面是否从其他页面返回的实例代码
2019/07/03 Javascript
vue-router跳转时打开新页面的两种方法
2019/07/29 Javascript
纯异步nodejs文件夹(目录)复制功能
2019/09/03 NodeJs
js前端如何写一个精确的倒计时代码
2019/10/25 Javascript
Vue 解决多级动态面包屑导航的问题
2019/11/04 Javascript
详解JavaScript类型判断的四种方法
2020/10/21 Javascript
Python实现简单求解给定整数的质因数算法示例
2018/03/25 Python
python 自定义对象的打印方法
2019/01/12 Python
详解python uiautomator2 watcher的使用方法
2019/09/09 Python
Python在字符串中处理html和xml的方法
2020/07/31 Python
Django权限控制的使用
2021/01/07 Python
德国网上超市:myTime.de
2019/08/26 全球购物
yy生日主持词
2014/03/20 职场文书
竞选班长的演讲稿
2014/04/24 职场文书
公司委托书格式范本
2014/09/16 职场文书
护士自荐信怎么写
2015/03/06 职场文书
2015学习委员工作总结范文
2015/04/03 职场文书
格列佛游记读书笔记
2015/06/30 职场文书
运动会通讯稿50字
2015/07/20 职场文书
nginx proxy_cache 缓存配置详解
2021/03/31 Servers
数据库连接池
2021/04/06 MySQL
redis sentinel监控高可用集群实现的配置步骤
2022/04/01 Redis
如何Tomcat中使用ipv6地址
2022/05/06 Servers
python实现学员管理系统(面向对象版)
2022/06/05 Python