- 博客(37)
- 资源 (8)
- 收藏
- 关注
原创 javascript加RoR实现JSONP
我们知道不同域中的js代码受同源策略的限制,不同域中的AJAX同样受此限制,不过使用html中的script远程脚本可以跳过该限制,下面我们实际看一下利用RoR和js如何实现所谓的JSONP。 这里只是简单地演示一下功能,并没有严格的实现JSONP,如果是那样需要用一个函数包容JSON对象主体:some_function([1,2,{a:1,b:11}])而这里的包容函数名称也不需要定死,而是可以
2015-03-29 10:56:12 1625
原创 mac os x下的程序快速切换快捷键
按下command + tab键正向切换程序按下command + shift + tab键反向切换程序按下command + tab键选择程序后,仍然按下command键不放,然后按下option键,可以将界面最小化的程序显示出来
2015-03-28 09:57:49 1288 2
原创 javascript操作select元素一例
熟悉一下js对select元素的操作,html页面中建立一个form,其中包含一个select元素和submit按钮。 当选择select中某一项时改变其文字,当select中所有项的文字都改变后,重新恢复它们。 当按下submit时关闭窗口本身,代码如下:<!DOCTYPE html><html><head><title>duang for select elements</title>
2015-03-26 16:37:27 883
原创 javascript访问html元素的内容(2)
对于(1)中最后一个包装方式创建的是一个方法,我们必须以方法调用的方式来使用它,这和其他默认的以属性返回结果略有不同,如果有强迫症的童鞋有些伤不起,那么我们下面就把它实现为属性返回的方式://children是默认属性,遂起一个中文糊糊的名字 :)HTMLElement.prototype = { get: function childrens(){ var elts = [];
2015-03-26 10:13:44 735
原创 javascript访问html元素的内容(1)
形如如下格式的html元素:<p id="my_p">I'm <strong>BIG</strong> panda!!!</p>有3种方式获取其内容,可以获取起全部的子内容,或是获取其子内容的text纯文本标识,或是以对象方式获取其子内容。可以使用元素对象的innerHTML属性作为字符串标记返回其内容:my_p.innerHTML;//返回 I'm <strong>BIG</strong> pa
2015-03-26 09:44:35 1078
原创 javascript中通过元素id和name直接取得元素
我们知道一些第三方的js库对如何快速选取html中的元素做了一些简化,貌似十分高深莫测,其实也不然。而且js本身自带了对于特殊元素的简便选取的方法,下面就为大家简单介绍下。 在html中,一般最直接的辨别html元素使用的是name和id属性,两者有着细微的不同:id必须页面唯一,但name可以有重复。 在js中如果id名称不和内置属性或全局变量重名的话,该名称自动成为window对象的属性,而
2015-03-25 15:51:01 1166
原创 javascript语言扩展:可迭代对象(5)
文章1-4篇说的都是js中的可迭代对象,下面让我们看看ruby中的等价物。 不可否认,ruby中对于迭代器和生成器的语法都相当简洁;ruby从一开始就有一个简洁的基因,而js后来的不断扩充使得其有些语法比较“别扭”和“奇怪”,虽说ruby也不比js小几岁啊!(官方的说法是一个1992年一个1995年) 在ruby中遍历一个数组的代码如下所示:ary = (1..10).to_aary.each
2015-03-22 13:28:50 1246
原创 javascript语言扩展:可迭代对象(4)
js 1.7中还包含一个数组推导(array comprehension)的特性,如果不在最后介绍它好像显得不怎么完整。 数组推导其实很简单:let a = [x*x for(x in range(0,10)) if(x%2===0)];以上代码中的range()返回一个生成器对象。上述代码等价于:let a = [];for(x in range(0,10)){ if(x%2 ===
2015-03-22 11:47:28 937
原创 javascript语言扩展:可迭代对象(3)
除了前2篇文章中描述的可迭代对象以外,在js语言扩展中生成器对象,也可以作为可迭代对象。 这里用到一个新的关键字yield,该关键字在函数内部使用,用法和return类似,返回函数中的一个值;yield和return区别在于,使用yield的函数“返回”的这个值是可保持内部状态的。(我也没办法用猫的语言表达能力将其表达清楚,如果你懂得ruby之类的动态语言可能早就明白其含义,不明白的见后面的代码吧
2015-03-22 11:29:14 780
原创 javascript语言扩展:可迭代对象(1)
在ECMAScript中我们知道可以通过for in语句进行对象属性的遍历,当然这些属性不包括继承而来的属性:var ary = [1,2,3,"aa",4];for(i in ary) console.log(i); //遍历属性名称在firefox以及其他浏览器实现的js语言扩展中,增加了each语句,each和in类似,不过它遍历的是对象的属性值:var a = [1,2,3,4];
2015-03-22 09:29:25 1044
原创 javascript中如何让类工厂和构造函数变成同一个函数
我们知道在js中可以用一个函数来定义对象的类,该函数称之为对象的构造函数,我们在需要create对象的时候直接调用这个构造函数即可:var Man = funciton(name){ this.name = name; };var man = new Man("hopy");如上所示man对象的类是Man,因为有:Object.getPrototypeOf(man) === Man
2015-03-20 10:21:36 945
原创 javascript中正则表达式和ruby中的一点差异
看到一个例子,不过这个例子中正则表达式的格式貌似是错的:Function.prototype.get_name = function(){ return this.name || this.toString().match(/function\s*(\[^()*](/)[1];}代码的原意是给任意有名的Function实例对象添加返回其名称的方法get_name;不过其中正则的格式不怎么对
2015-03-18 23:03:12 858
原创 javascript类和原型学习笔记
js中类的所有实例对象都从同一个原型对象上继承属性。我们可以自己写一个对象创建的工厂方法来来“模拟”这种继承行为://inherit()返回一个继承自原型对象p的属性的性对象//这里使用ECMAScript5中的Object.create()函数//如果不存在该函数,则使用另一种方法function inherit(p){ if(p == null) throw TypeError()
2015-03-18 18:44:15 951 1
原创 javascript函数式编程一例分析
js像其他动态语言一样是可以写高阶函数的,所谓高阶函数是可以操作函数的函数。因为在js中函数是一个彻彻底底的对象,属于第一类公民,这提供了函数式编程的先决条件。 下面给出一个例子代码,出自一本js教程,功能是计算数组元素的平均值和标准差,先列出非函数式编程的一种写法:var data = [1,1,3,5,5];var total = 0;for(var i = 0;i < data.leng
2015-03-18 15:20:47 1132
原创 如何使用firefox适用于javascript的debugger命令
首先安装firebug,在firefox的扩展里搜索安装即可。 然后在页面中启用firebug中的脚本:然后在网页某些位置加入debugger命令,比如如下页面代码:<!DOCTYPE html><html><head><meta charset="utf-8" /><title>js弹出新窗口</title><script type="text/javascript"> fun
2015-03-14 15:12:10 4555
原创 javascript中的eval函数
eval()只有一个参数,如果传入的参数不是字符串,则直接返回这个参数。否则会将字符串当成js代码进行编译,如果编译失败则抛出语法错误(SyntaxError)异常。如果编译成功则开始执行这段代码,并返回字符串中的最后一个表达式或语句的值;如果最后一个表达式或语句没有值,则最终返回undefined。如果字符串抛出异常,则该异常将把该调用传递给eval();eval()最为重要的是,它使用了调用它的
2015-03-14 10:34:18 932
转载 javascript中的instanceof运算符
instanceof运算符希望左操作数是一个对象,右操作数表示对象的类;如果左侧的对象是右侧类的实例,则返回true,否则返回false。由于js中对象的类是通过初始化它们的构造函数来定义的,因此instanceof的右操作数应当是一个函数。比如:var d = new Date();d instanceof Date; //trued instanceof Object; //trued i
2015-03-14 09:43:08 804
原创 javascript中的in运算符
in运算符希望它的左操作数是一个字符串或可以转换为字符串,希望他的又操作数是一个对象;如果右侧对象拥有一个名为左操作数值的属性名,那么表达式返回true:var point = {x:1,y:1};"x" in point //true"z" in point //false"toString" in point //truevar ary = [1,2,3];"0" in ary; //t
2015-03-14 09:32:12 852
原创 javascript属性访问表达式
属性访问表达式运算得到一个对象属性或一个数组元素的值。js为属性访问定义了2中语法: expression.identifier expression[“expression”] 不管使用何种形式属性访问表达式,在.和[之前的表达式钟会首先计算,如果计算结果是null或undefined,则表达式会抛出一个类型错误异常,因为这两个值都不能包含任意属性。 显然.identifier的写法更加简
2015-03-14 09:19:31 1094
原创 javascript变量声明
js中使用一个变量之前应当先声明。变量使用关键字var来声明。 如果未在var声明语句中给变量指定初始值,则该变量值为undefined。 不用在声明变量时指定变量类型,js变量可以是任意数据类型。使用var语句重复声明变量是合法且无害的。如果重复声明带有初始化器,则就和简单的赋值语句没啥区别。如果试图读取一个没有声明的变量,则js会报错。在ECMAScript5严格模式下,给一个没有声明的变量
2015-03-13 20:33:35 875
原创 javascript显式类型转换
尽管js可以做许多自动类型转换,但某些时候仍然需要做显示类型转换或为了代码逻辑清晰易读而做显示类型转换。 做显示类型转换最简单的方法就是用Boolean()、Number()、String()或Object()函数:Number("3") //3String(false) //"false"false.toString()//同上Boolean([]) //trueObject(3)
2015-03-13 17:48:36 908
原创 javascript原始值和对象引用
一句话来说:原始值是不可变的,而对象引用是可变的。 js中的原始值(undefined、null、布尔值、数字和字符串)与对象(包括数组和函数)有着本质的区别。原始值是不可更改的,任何方法都无法更改一个原始值;对于字符串来说,字符串中所有的方法看上去返回了一个修改后的字符串,实际上返回的是一个新的字符串值:var str="hello world";s.toUpperCase();s;
2015-03-13 17:17:08 1556
原创 javascript包装对象
js对象是一种复合值:它是属性或已命名值得集合。 参考以下代码:var s = "hello world";var len = s.length;在该例子中,s是字符串,而字符串不是对象,但为何会有属性呢?其实只要引用了字符串s的属性,js就会将字符串通过调用new String(s)的方式转换为对象,该对象继承了字符串的方法,并被用来处理属性的引用;一旦属性引用结束,这个新创建的对象就会被销毁
2015-03-13 15:48:18 645
原创 javascript算术运算溢出
js中的算术在溢出overflow,下溢underflow或被0整除时不会报错。 当数字结果超过了数字上限时,结果为一个特殊的无穷大(infinity)值,在js中以Infinity表示;同理,当负数超出了负数表示范围,则结果为负无穷大,在js中用-Infinity表示。 下溢是当运算结果无限接近于0并比js能表示的最小值还小时发生的一种情形。这种情况下,js会返回0;当负数发生下溢时,js韩慧
2015-03-13 15:01:18 3919
原创 html的meta标签
meta是一个空元素,没有结束标签;meta元素可以附带8个属性,其中4个是通用属性—–dir,lang,xml:lang和title,其他4个是meta特有的属性: schema,name,content,http-equiv name属性 name属性的值可以是任何内容,标准对此没有限制;但存在一些预定义的值: description:指定页面的描述<meta name="descrip
2015-03-11 14:51:04 734
原创 如何用Dreamweaver编辑rails的html.erb文件
默认情况下用dw是以普通的text文件打开html.erb文件,这多少让人有点不爽。其实dw打开erb文件也是相当的容易,下面就简单说下在mac os X下如何让dw支持erb文件:首先找到dw的用户Configuration文件夹位置,注意不是Application中的应用程序里的Configuration文件夹哦;可以用mdfind命令找一下,我的如下位置(mac os x10.10.2):
2015-03-11 08:35:24 2203
转载 html中几种常见长度单位介绍
文章出处和来源网址:http://www.divcss5.com/html/h529.shtml以下是DIVCSS5为大家总结网页中常见html单位介绍,在css+div布局中长度单位介绍篇。其实css中的长度单位一共有8个,分别是px,em,pt,ex,pc,in,mm,cm;px:像素(Pixel),相对于设备的长度单位,像素是相对于显示器屏幕分辨率而言的。譬如,WONDOWS的用户所使用的分辨
2015-03-11 08:35:22 1207
原创 rails中select不能响应多选的解决办法
在rails4.2中如果你写如下代码,post的select无法传回多选内容,即使你select设置为多选:<select id='id_size' name='name_size' multiple='multiple' size='10'> <option value="1">Small</option> <option value="2">Medium</option>
2015-03-11 08:35:02 1449
原创 css的框模型速查
在css中,每个元素被视为一个框。 每个框具有3个属性: border 框的边框 margin 框与相邻框之间的距离 padding 框内容和边框之间的距离对于margin存在一种特例:当元素底部页边空白接触另一个元素的顶部页边空白,只会显示其中范围较大的页边空白,如果2个页边空白大小相同,则最终的页边空白将等于其中一个页边空白的大小。默认情况下,块级元素将占用页面(或者包含它的元素)的整个
2015-03-11 08:34:54 740
原创 mac os x下Dreamweaver如何还原初始配置
上次在mac下修改Dreamweaver(以下简称dw)时,不知动了哪里,导致打开html文档时设计按钮变灰不能使用!这个太蛋疼了,只能在浏览器中查看效果,live按钮更不用说也是灰化状态。 于是使用CleanMymac软件将其彻底卸载,包括其配置文件。 然后重新安装,结果依旧,貌似还有神马配置文件没有删除干净。在baidu,google多方搜索无果准备放弃的时候,发现dw自带一个卸载器,其中将
2015-03-11 08:34:28 2873
原创 css选择器语法速查
通用选择器 *{} 类似于通配符,匹配文档中所有元素类型;类型选择器 h1,h2,p{} 匹配以逗号隔开元素列表中的所有元素类选择器 .glass{} or p.glass{}id选择器 #id {} or p#id {}子选择器 td>b {} 匹配元素是另外一个元素的直接子元素后继选择器 td b {} 匹配另一个指定元素的所有嵌套中的后继相邻兄弟选择器 h1+p {}
2015-03-11 08:33:55 810
原创 rails小重构:将图片加入产品Model之二
在前面我们重构了product中图片的实现,但是还是有一些小问题.比如用户如果上传一个非图片格式的文件时的验证情况. 我们之前是将图片格式验证代码放在Picture类中:validates_format_of :content_type,with:/\Aimage/, message:"you can only upload picture format"但是我实际操作的是Product类
2015-03-11 08:33:11 994
原创 抛开rails使用ActiveRecord连接数据库
今天是大年三十,明天就正式进入羊年鸟,给所有程序猿(媛)同人拜个年吧!祝大家身体健康,事业有成,财源广进哦! 话归正题,以前都是在rails中使用数据库,或者在rails的console中使用;我们如何“抛开”rails而使用其数据库呢?有2种方法,一种稍难,另一种so easy! 先看看所谓稍难的方法:require "active_record"ActiveRecord::Base.est
2015-03-11 08:33:01 1280
原创 rails小重构:将图片加入产品Model
原先的产品product模式中存放的是图片的url,必须手动将图片存入指定目录中.现在略作改动,在数据库中新建一个pictures表,其设定如下:class CreatePictures < ActiveRecord::Migration def change create_table :pictures do |t| t.integer :product_id
2015-03-11 08:32:39 821
原创 javascript内置对象速查(二)
Window对象 每个浏览器窗口或框架都对应于一个Window对象,它是随body或frameset元素的每个实例一起创建的对象。function status_text(){ window.status = "something..."; }<body onload="status_text();"><input type="button" value="new window"
2015-03-10 13:18:56 678
原创 javascript内置对象速查(一)
字符串对象var str = new String("Hello World");可以调用其中的一些方法:str.length str.big日期对象var dt = new Date();常用方法: date() 返回一个Date对象 getDate() 返回日期(1..31) getDay() 返回星期几(0..6) getMonth() 返回月份(0..
2015-03-10 11:40:07 615
SwiftUI 超酷炫动画示例大合集
2024-01-08
MacOS 和 iOS 内核 xnu 可编译源代码
2024-01-08
SwiftUI 示例 iFonts 应用完整项目源代码
2024-01-08
SwiftUI 各种界面、自定义视图、动画以及设计哲学示例合集
2024-01-08
SwiftUI 英雄动画(HeroAnimations)演示代码
2024-01-08
iOS 15.4 真机调试支持包(可支持最新的iOS 15.4.1系统)
2022-04-03
SwiftUI编程实现不同TabView标签页中任意导航层级视图之间相互跳转的演示代码
2022-04-03
unlocker_new
2008-11-10
UnlockerEx
2008-04-27
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人