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 相关文章推荐
Ajax+Json 级联菜单实现代码
Oct 27 Javascript
jQuery UI 应用不同Theme的办法
Sep 12 Javascript
当鼠标移动时出现特效的JQuery代码
Nov 08 Javascript
手机端页面rem宽度自适应脚本
May 20 Javascript
JavaScript中length属性的使用方法
Jun 05 Javascript
javascript中异常处理案例(推荐)
Oct 03 Javascript
jQuery自定义多选下拉框效果
Jun 19 jQuery
H5+C3+JS实现双人对战五子棋游戏(UI篇)
May 28 Javascript
npm的lock机制解析
Jun 20 Javascript
Vuex中实现数据状态查询与更改
Nov 08 Javascript
JavaScript实现网页计算器功能
Oct 29 Javascript
javaScript Array api梳理
Mar 31 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中将地址生成迅雷快车旋风链接的代码[测试通过]
2011/04/20 PHP
php_screw 1.5:php加密: 安装与使用详解
2013/06/20 PHP
php生成0~1随机小数的方法(必看)
2017/04/05 PHP
PHP实现的CURL非阻塞调用类
2018/07/26 PHP
innertext , insertadjacentelement , insertadjacenthtml , insertadjacenttext 等区别
2007/06/29 Javascript
js控制的遮罩层实例介绍
2013/05/29 Javascript
jQuery中:visible选择器用法实例
2014/12/30 Javascript
AngularJS中取消对HTML片段转义的方法例子
2015/01/04 Javascript
js实现同一页面多个不同运动效果的方法
2015/04/10 Javascript
超漂亮的jQuery图片轮播特效
2015/11/24 Javascript
javascript回到顶部特效
2016/07/30 Javascript
微信小程序 简单教程实例详解
2017/01/13 Javascript
javascript数组去重常用方法实例分析
2017/04/11 Javascript
js中let和var定义变量的区别
2018/02/08 Javascript
javascript、php关键字搜索函数的使用方法
2018/05/29 Javascript
Vue Echarts实现可视化世界地图代码实例
2019/05/07 Javascript
js对象简介与基本用法示例
2020/03/13 Javascript
js实现飞机大战小游戏
2020/08/26 Javascript
[51:34]Ti4主赛事胜者组 DK vs EG 2
2014/07/19 DOTA
对python使用http、https代理的实例讲解
2018/05/07 Python
基于python神经卷积网络的人脸识别
2018/05/24 Python
python实现简易内存监控
2018/06/21 Python
django开发post接口简单案例,获取参数值的方法
2018/12/11 Python
Django中信号signals的简单使用方法
2019/07/04 Python
浅析python,PyCharm,Anaconda三者之间的关系
2019/11/27 Python
Pytorch DataLoader 变长数据处理方式
2020/01/08 Python
python实现一个猜拳游戏
2020/04/05 Python
pip安装提示Twisted错误问题(Python3.6.4安装Twisted错误)
2020/05/09 Python
python 实现朴素贝叶斯算法的示例
2020/09/30 Python
新加坡时尚网上购物:Zalora新加坡
2016/07/26 全球购物
Waterford美国官网:爱尔兰水晶制品品牌
2017/04/26 全球购物
Lululemon加拿大官网:加拿大知名体育服装零售商
2019/04/12 全球购物
加拿大领先家居家具网上购物:Aosom.ca
2020/05/27 全球购物
Java的五个基础面试题
2016/02/26 面试题
九年级政治教学反思
2014/02/06 职场文书
Redis基本数据类型哈希Hash常用操作命令
2022/06/01 Redis