标签归档:javascript

【Javascript】不要试图给字符串添加属性

虽然我以前就吃过一次这个亏,不过昨天又犯这错误了。

虽然js里万物皆对象,不过也不是啥对象都可以加属性的,比如字符串。

所以字符串是没法添加属性的,同理,数字、Boolean也不能添加属性。

我发现它们都是传值型变量诶。因为本体只有一个值,所以不能添加属性吗。

[Javascript]使用Generator函数创建你自己的异步函数

欢迎来到佳佳doubi小课堂~在这里你可以学到实用又错误的知识×。

好久没写正经的博文了,让我来正经一下。

使用Generator函数来创建你的异步函数,先说明一下原理。

Generator函数是ES6里的新函数类型,函数定义写作这样

看到没,在函数名和function之间多了一个*号,这不是我写错了,是Generator函数的标志,这个*号其实也可以贴着函数名写 function *a(){},也可以不加空格 function*a(){},不过还是推荐把它贴着function写,这样既不会影响一些编辑器里的高亮,也不会降低代码可读性。 继续阅读[Javascript]使用Generator函数创建你自己的异步函数

【PHP】清理js文件

花了点时间好好做了个可以清理js文件的php脚本,php确实是个蛋疼的东西,老是出点奇怪的特性。

这个脚本的功能是去掉js文件里的无用部分,输出一个清洁的js文件(当然我不保证这个输出的文件绝对没问题,至少把我的COL放进去输出的文件没问题)

原理:
由于涉及到清理注释,又不能把引号误删,而且 " ' // /*这四个关键符号是同样优先级的,所以谁先出现,谁的优先级就会高(也就是其他符号都会进入这个符号的作用域里)

比如 " 先出现了,后面的 ' // /*都会被包括进这个字符串里,同样如果 /*先出现了后面的内容都会变成注释,除非碰到 */ 。

所以我用了个循环来根据先出现的符号进行相应操作。碰到引号就把字符串整个提出来放个锚,即可保持字符串内容,然后就不用再担心字符串的问题了。

继续阅读【PHP】清理js文件

setTimeout和setInterval的用法

由于我的js没有正规学习过,所以码东西的时候总会有一些新发现,这两天写弹幕播放器的时候我又发现了定时函数的新用法,于是来记录一下。

一开始我从w3school学习了setTimeout的基本用法,他的例子是这样的

于是我后来就一直用引号围起要定时运行的内容。。。。。
继续阅读setTimeout和setInterval的用法

Canvas文字绘制性能测试

做了个canvas文字测试,看看效果如何。
由于代码中包含了图片的base64码所以放在最后了,测试结果如下:

为了尽量准确一点,避免浏览器热身等原因我把测试放在循环里进行多次测试。
可见文字渲染确实是效率比较低的,不过这里还不是太明显。
这里的文字渲染还是无任何样式的,平常应用的时候不可能就这么用没样式的字,所以我还要再来一个有样式文字渲染测试。
继续阅读Canvas文字绘制性能测试

【前端】知道你的浏览器显示区大小

实在没啥好写的来凑个数。。。

前端码农在做界面的时候有的时候需要知道窗口大小,特别是做响应式布局页面的时候需要看看大约多大合适,然后又使用的chrome或者其它没有这种特殊功能的浏览器,懒得另外装什么插件,于是你可以像我一样这么做。

首先按Ctrl+Shift+J或者其他你知道的方法调出控制台(不是系统控制台,是浏览器控制台),然后输入如下代码

然后改变你的浏览器尺寸,显示区的长宽就会出现在控制台里了。一般作业面只要知道宽,除非你的页面和win8风格一样是横过来的。。。

offsetWidth和offsetHeight

之前一直在为没法知道一个不确定宽高元素的实际宽高而困扰,结果发现用style.width和style.height获取的都是在元素里定义的值
偶然发现了以前经常见到但是又怕麻烦所以没去接触的offsetWidthoffsetHeight,这两个可以获取一个元素在页面中占用的实际尺寸,不管有没有定义。
比如

弹出警告窗显示627(也就是现在div由于里面的文字而撑开来以后所占的宽度)

做了个元素拖动实验

iframe框引用demo:

原始demo地址:http://www.luojia.tk/shiyanshi.php?id=moveelement

代码:

ajax那啥的通用框架

ajax虾米的最有爱了,用起来也很方便。。【第一次写长文,出错请留言来让我改正】

继续阅读ajax那啥的通用框架

太阳君和月亮酱

上个例子先。。

然后由于某些原因。。在文章后面的这个太阳或者月亮就是例子了。

单独的例子看这里:http://www.luojia.me/shiyanshi.php?id=sunandmoon

————下面是神圣的代码————–