随笔分类 - JavaScript
摘要:原文http://www.bujiaban.net/wordpress/?p=243基于中缀表达式转后缀表达式 javascript版和后缀表达式 求值运算 javascript版UI 采用Sencha Touch框架搭建 ,支持webkit内核的浏览器手机|| PC 浏览器打开使用哦,亲,猛击哦
阅读全文
摘要:下一篇是后缀表达式的求值完整的中缀转后缀,并求值的代码文件在这里中缀转后缀表达式的算法概要描述/*** 中缀表达式转换成 后缀表达式** 栈A,后缀串B* 源S,从左往右读入S* 1. 操作数直接添加到B* 2. ( 直接入栈* 3. ) 从栈A中依次弹出操作符添加到B,直到弹出(* 4. 操作符,如果栈顶元素的优先级比当前高,则弹出栈顶元素添加到B,直到栈顶元素小于当前操作符,操作符入栈A* 5. 函数递归处理* 6. S读完后,如果栈非空,弹出所有元素依次追加到B** 中缀 1+2*(6/2+3*2+7*(2*2))+2* =>* 后缀 1262/32*+722**+*+2+*/测试
阅读全文
摘要:原文http://www.bujiaban.net/wordpress/?p=229完整的中缀转后缀,并求值的代码文件在这里代码文件里支持log,cos,sin,tan这些函数,如1+log(tan(10))*2 ,含有这些函数的四则运算都是支持的,并可以轻松扩展。在这里的表达式运算支持上做个计算器神马的,都是很容易的事情,下篇是 web app 版的计算器中缀表达式转后缀表达式 请看上篇中缀转后缀表达式大致步骤:/*** 后缀表达式,从左到右读取,依次压栈,如果是操作符,入栈,如果是操作数,从栈弹两个元素出来运算,再将运算结果压入栈*/function calculate(stock_pos
阅读全文
摘要:原文链接 http://www.bujiaban.net/wordpress/?p=186W3C 规范http://www.w3.org/TR/html5/comms.html本文DEMO(一)跨源通信 协议,主机,端口。 http://www.bujiaban.net/a.html与 http://www.bujiaban.net/html/geolocation.html的源是一样的,因为不考虑路径 方式 跨文档通信cross-document messaging 信道通信channel messaging XMLHttpRequert 交互 浏览器前端(ifrmae,标签页,...
阅读全文
摘要:原文http://www.bujiaban.net/wordpress/?p=155先简单介绍下JSLint。是一款javascript程序代码质量检查工具。为什么叫JSLint?因为C语言在早期有个Lint工具帮助扫描检查c代码文件,JSLint于javascript就如lint 如c语言一样,帮助检查与验证我们的代码。既然是代码质量检查工具,那么检查的标准是什么?怎么样的代码才算是高质量的?JSLint从生产实践中总结出一套质量规范,代码规则,以此来作为检测的标准。姑且不论JSLint工具在与实践项目结合上的可操作性。这些规范规则能够为我们生产实践所用,作为团队开发的规范,对项目代码质量,
阅读全文
摘要:原文http://www.bujiaban.net/wordpress/?p=44工具函数 浏览器 jQuery.browser 通过userAgent来判断,并不靠谱。webkit,safari ,opera,msie,mozilla避免针对浏览器特性的代码。特性的支持可以查看support函数 jQuery.support 浏览器的各种支持特性。如cssFloat 可参考 数据 jQuery.parseXML( data ) 解析xml格式字符串 jQuery.parseJSON( json ) 解析json格式字符串 jQuery.trim( str ) 清空str前后的空白字符 jQu
阅读全文
摘要:原文http://www.bujiaban.net/wordpress/?p=42样式属性 css() 函数 例如 .css("color") 获取color.css("color","red")设置 color为red .height() 返回元素高度.width() 返回元素宽度 .outerHeight() 含有padding,border的高度,或margin.outerWidth() 含有padding,border的宽度,或margin .innerHeight() 含有padding的元素高度.innerWidth()
阅读全文
摘要:原文链接http://www.bujiaban.net/wordpress/?p=38DOM操作 元素属性 .attr() .removeAttr() .removeProp() .val() form专用 节点 .add() 增加元素 .append() .appendTo() 与append的不同主要是插入内容的所在 前后顺序不一样 如 $(A).appendTo(B) A追加B .html() 插入html代码 text .prepend() 插在元素的前面 .prependTo() 与prepend的关系类似appendTo .empty() 移除元素子节点...
阅读全文
摘要:原文链接http://www.bujiaban.net/wordpress/?p=34jQuery 的选择器分为基本选择器,层次选择器,过滤选择器,表单选择器。选择器 神马是选择器 通过指定的规则获得符合条件的元素集合的方法。 jQuery继承了CSS选择器风格。支持CSS1,CSS2全部和部分的CSS3选择器。 基本选择器 #id 指定Id .class 指定类名 element 指定标签名 * 所有元素 selector1,selector2.... 返回各个选择器的结果集的合并运算 层次选择器 "ancestor descendant" 选中ancestor里面的所有
阅读全文
摘要:这周在学习了解jQuery,通过看书,读源码,看api,对其有了个大概的全局视图,现用XMIND将其中的要素,常用的api,一些有意思的小点整理成笔记。(少于200字的文章不允许发啊,伤心!一图胜千言啊怎么能这样呢)补下下面的文字,看官们看图即可。jQuery 的优势1.轻量级2.选择器强大3.优秀的Dom操作封装4.靠谱的事件处理机制5.牛X的ajax操作6.出色的浏览器兼容7.链式写法。代码风格优雅8.隐式集合操作9插件丰富10.文档完善总结如下:Learn more ,Write less, Do more。(套用jQuery的口号)与诸君共勉!
阅读全文
摘要:一.实现上的差异在IE中,XMLHttpRequest实现为一个ActiveX对象,其他主流浏览器一般实现为javascript本地对象二.状态值,长度值为4 的模型0,未初始化,对象已经建立,但未初始化还没有调用open方法1,初始化,调用open方法,但未调用send方法2,发送数据,send方法已经调用,但当前状态及http头未知3,数据传输中,已收到部分响应数据,但不完整4,完成,数据已经接收完毕三.gbk编码问题ajax默认是utf-8编码1,服务端转化成gbk后再响应,或将服务端的响应头设为content-type:text/html charset=gbk2.在FF下可以在前端用
阅读全文
摘要:若是纯数组的形式则使用下面这种形式//javascriptvar array= new Array();for( var i=0;i<array.length;i++) array[i];//php$array = array();for($i=0;$i<count($array);$i++) $array[$i];遍历这个对象的所有属性//javascriptfor( var i in array) array[i]//phpforeach( $array as $key=>$value){ $array[$key] $value}foreach( $array as $v
阅读全文
摘要:1.静态加载 CSS,图片资源文件在页面渲染过程中可以并行下载,不会阻塞。在IE8,FF下,也可以支持JS的并行下载。尽管页面的JS下载加速了,但是JS对页面渲染的阻塞还是依然存在的,只有JS加载完毕了,页面的剩余部分才能继续渲染。放在Head部分的Script是最为恶劣的,因为对页面来说,Head部分是require的,是后部分所必须的,Head部分不加载完毕,Body部分不会开始解析,Body解析之前,页面是空白的。静态Script放到页面的哪部分来说都是阻塞,从浏览器实现的角度来说很好理解,因为JS代码中完全有可能修改页面元素影响Dom结构。因为浏览器对JS行为的不可预知,所以只好等前面
阅读全文
摘要:document.onkeydown=keydown;function keydown(event){ if ( !event ) event = window.event; var keycode = event.KeyCode | event.Which; alert(keycode);}
阅读全文
摘要:iframe id= "myframe" /iframeW3C的标准告诉我们,可以通过Dom对象的contentDocument属性来返回文档对象。即 doc= document.getElementById('myframe' ).contentDocument但对IE浏览器来说,经过测试,IE6,IE7都不支持,IE8开始支持了。在IE下,需要这样来访问document.frames['myframe'].document;跨浏览器的解决方案是,contentWindow属性,这是个只读属性,返回指定的iframe的窗口对象。它虽然不是标准的一部分,但各个主流浏览器都支持。所以跨浏
阅读全文
摘要:(一)获取Textarea的选中区域起点或无选中时的输入光标位置 非IE浏览器,如,firefox,chrome,支持selectionStart 获取选中区域的起点,而IE浏览器不支持该属性,需要间接通过TextRange来获得,利用TextRange对象的compareEndPoints方法来进行起点的比较可以实现。 getStartPos : function( textarea ){ if ( typeof textarea.selectionStart != 'undefined' ){ // 非IE start = textarea.selectionStart;} else{
阅读全文
摘要:(一)在IE下用getAttribute来获取class属性要使用getAttribute("className")。非IE,getAttribute("class")令,IE8下已经支持用getAttribute("class")来获取了 。(二)src=""在IE下会发出自动请求当前页面所在路径的请求。(三)如果页面是GBK,js是utf8引入js的时候 type="text/javascri...
阅读全文
摘要:介绍JsDoc Toolkit是用javascript编写的开源工具软件。它可以根据JavaScript代码中的约定的标签自动生成格式化模板,多页面HTML(XML,JSON或其他基于文本的格式)的API文档。JsDoc Toolkit来源于Sourceforge上的JSDoc项目,JsDoc Toolkit使用的是JSDoc的语法,实际上,这两个项目的开发者是同一个人:Michael Mathe...
阅读全文
浙公网安备 33010602011771号