javascript之应用技巧

1.转化为Boolean类型

所有JavaScript中的值都能隐式的转化为Boolean类型,比如:

0 == false; // true
1 == true; // true
'' == false // true

但是这些值都不是Boolean类型。
用三个等于号进行比较时:但是这些值都不是Boolean类型。

0 === false; // false
1 === true; // false
'' === false // false
现在的问题是如何将其他类型转化为Boolean类型:

!!0 === false; // true
 !!1 === true; // true
 !!'' === false // true

2.字符串替换
String.prototype.replace函数经常会让那些非常熟悉C#或者Java的程序员感到迷惑。
比如:

'Hello world, hello world'.replace('world', 'JavaScript');
// The result is "Hello JavaScript, hello world"
replace函数的第一个参数是正则表达式。
如果你传递一个字符串到第一个参数,则只有第一个找到的匹配字符串被替换。
为了解决这个问题,我们可以使用正则表达式:

'Hello world, hello world'.replace(/world/g, 'JavaScript');
// The result is "Hello JavaScript, hello JavaScript"
我们还可以指定在替换时忽略大小写:
'Hello world, hello world'.replace(/hello/gi, 'Hi');
// The result is "Hi world, Hi world"

3.为parseInt函数指定第二个参数
parseInt用来将字符串转化为整形的数字,语法为:

parseInt(str, [radix])
其中第二个参数是可选的,用来指定第一个参数是几进制的。
如果没有传递第二个参数,则按照如下规则:
->如果 str以 0x 开头,则认为是16进制。
->如果 str以 0 开头,则认为是8进制。
->否则,认为是10进制。
因此如下的代码将会让人很迷惑,如果你不知道这些规则:

parseInt('08'); // 0
parseInt('08', 10); // 8
所以,安全起见一定要为 parseInt指定第二个参数。

4.从数组中删除一个元素
或许我们可以通过delete来做到:

var arr = [1, 2, 3, 4, 5];
delete arr[1];
arr; // [1, undefined, 3, 4, 5]

可以看到,delete并不能真正的删除数组中的一个元素。删除的元素会被undefined取代,数组的长度并没有变化。
事实上,我们可以通过Array.prototype中的splice函数来删除数组中的元素,如下所示:

var arr = [1, 2, 3, 4, 5];
arr.splice(1, 1);
arr; // [1, 3, 4, 5]

5. undefined是JavaScript中保留关键字么?
看起来像是的,但实际上undefined并不是JavaScript中的关键字:

var undefined = 'Hello';   
undefined; // 'Hello'
这段代码可能会让你感到很奇怪,不过它的确能够正常运行, undefined只是JavaScript中一个预定义的变量而已。
注:在JavaScript程序中,千万不要这样做,这个技巧只是告诉你有这么一回事而已。


6.判断一个变量是否为undefined

typeof(name2) === ‘undefined’; // true


7.0.1+0.2 != 0.3
JavaScript将小数作为浮点数对待,所以可能会产生一些四舍五入的错误,比如:

0.1 + 0.2; // 0.30000000000000004
你可以通过toFixed方法指定四舍五入的小数位数: 
(0.1 + 0.2).toFixed(); // "0"(0.1 + 0.2).toFixed(1); // "0.3"





吃水不忘挖井人:http://www.cnblogs.com/sanshi/archive/2009/08/30/1556677.html



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
可以使用HTML5中的Canvas元素和JavaScript来实现写字动画效果。具体实现步骤如下: 1. 创建一个Canvas元素,并设置它的宽度和高度。 2. 使用JavaScript获取Canvas的上下文对象。 3. 设置字体、颜色、阴影等样式属性。 4. 使用Canvas的beginPath()方法开始绘制路径。 5. 使用Canvas的moveTo()和lineTo()方法绘制字母路径。 6. 使用Canvas的stroke()方法绘制路径。 7. 使用JavaScript的定时器函数setInterval()不断更新字母的位置,从而实现动画效果。 下面是一个简单的示例代码: HTML代码: ```html <canvas id="myCanvas" width="500" height="200"></canvas> ``` JavaScript代码: ```javascript // 获取Canvas元素的上下文对象 var canvas = document.getElementById("myCanvas"); var ctx = canvas.getContext("2d"); // 设置字体属性 ctx.font = "80px Arial"; ctx.fillStyle = "red"; ctx.shadowColor = "black"; ctx.shadowBlur = 10; // 定义字母路径 ctx.beginPath(); ctx.moveTo(50, 100); ctx.lineTo(100, 50); ctx.lineTo(150, 100); ctx.lineTo(200, 50); ctx.lineTo(250, 100); ctx.lineTo(250, 150); ctx.stroke(); // 定义定时器函数来更新字母位置 var x = 50; var y = 100; var dx = 5; var dy = -5; setInterval(function() { ctx.clearRect(0, 0, canvas.width, canvas.height); ctx.beginPath(); ctx.moveTo(x, y); ctx.lineTo(x+50, y-50); ctx.lineTo(x+100, y); ctx.lineTo(x+150, y-50); ctx.lineTo(x+200, y); ctx.lineTo(x+200, y+50); ctx.stroke(); x += dx; y += dy; if (x > canvas.width-200 || x < 0) { dx = -dx; } if (y > canvas.height-50 || y < 0) { dy = -dy; } }, 10); ``` 这段代码实现了一个不断移动的字母路径,可以根据需要修改字母的形状和动画效果。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值