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 相关文章推荐
爱恋千雪-US-AscII加密解密工具(网页加密)下载
Jun 06 Javascript
js验证上传图片的方法
May 12 Javascript
JavaScript中Function()函数的使用教程
Jun 04 Javascript
AngularJS学习笔记之基本指令(init、repeat)
Jun 16 Javascript
jQuery插件Validate实现自定义表单验证
Jan 18 Javascript
AngularJS使用ng-Cloak阻止初始化闪烁问题的方法
Nov 03 Javascript
在vue使用clipboard.js进行一键复制文本的实现示例
Jan 15 Javascript
js实现随机div颜色位置 类似满天星效果
Oct 24 Javascript
vue解决使用$http获取数据时报错的问题
Oct 30 Javascript
解决removeEventListener 无法清除监听的问题
Oct 30 Javascript
关于angular 8.1使用过程中的一些记录
Nov 25 Javascript
vant时间控件使用方法详解
Dec 24 Javascript
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
PHP获取栏目的所有子级和孙级栏目的ID号示例
2014/04/01 PHP
浅谈Coreseek、Sphinx-for-chinaese、Sphinx+Scws的区别
2016/12/15 PHP
tp5 实现列表数据根据状态排序
2019/10/18 PHP
你所要知道JS(DHTML)中的一些技巧
2007/01/09 Javascript
HTML长文本截取含有HTML代码同样适用的两种方法
2013/07/31 Javascript
jQuery实现转动随机数抽奖效果的方法
2015/05/21 Javascript
JQuery包裹DOM节点的方法
2015/06/11 Javascript
jquery.mousewheel实现整屏翻屏效果
2015/08/30 Javascript
JavaScript中的函数(二)
2015/12/23 Javascript
初识angular框架后的所思所想
2016/02/19 Javascript
jquery实现自适应banner焦点图
2017/02/16 Javascript
easy ui datagrid 从编辑框中获取值的方法
2017/02/22 Javascript
对类Vue的MVVM前端库的实现代码
2018/09/07 Javascript
vue项目接口管理,所有接口都在apis文件夹中统一管理操作
2020/08/13 Javascript
JavaScript逻辑运算符相关总结
2020/09/04 Javascript
关于better-scroll插件的无法滑动bug(2021通过插件解决)
2021/03/01 Javascript
使用SAE部署Python运行环境的教程
2015/05/05 Python
Python下的Softmax回归函数的实现方法(推荐)
2017/01/26 Python
Python计算两个日期相差天数的方法示例
2017/05/23 Python
numpy 对矩阵中Nan的处理:采用平均值的方法
2018/10/30 Python
python实现两个dict合并与计算操作示例
2019/07/01 Python
使用python分析统计自己微信朋友的信息
2019/07/19 Python
使用python 对验证码图片进行降噪处理
2019/12/18 Python
解决pytorch DataLoader num_workers出现的问题
2020/01/14 Python
Python ADF 单位根检验 如何查看结果的实现
2020/06/03 Python
python 多线程中join()的作用
2020/10/29 Python
python反编译教程之2048小游戏实例
2021/03/03 Python
html5的canvas方法使用指南
2014/12/15 HTML / CSS
Hoover胡佛官网:美国吸尘器和洗地机品牌
2019/01/09 全球购物
印度尼西亚最完整和最大的在线药房网站:Farmaku.com
2019/11/23 全球购物
中文专业毕业生自荐信
2013/10/28 职场文书
小学二年级评语
2014/04/21 职场文书
政风行风建设整改方案
2014/10/27 职场文书
升职感谢信
2015/01/22 职场文书
2015年秋季小学开学典礼主持词
2015/07/16 职场文书
Nginx性能优化之Gzip压缩设置详解(最大程度提高页面打开速度)
2022/02/12 Servers