1.进阶操作
这里列举了一些小编以前经常用到的一些例子以及一些经验,由于篇幅受限,这里我将会把部分执行结果的输出直接输入到代码下面。
1).浏览器输入
- prompt('请输入') 返回一个字符串变量
2).浏览器输出
- document.write('我被输出了') 返回一个字符串
3).浏览器弹框
- alert('我是弹框') 返回一个字符串
4).浏览器交互
- confirm("是否进入"); 返回一个比尔类型的值
5).控制台打印结果
- console.log('显示在控制台的结果')
6).类型检查
- typeof ss
- ss instanceof string
7).转换为字符串
- var ff=123
- ff.toString()
8).转换为数字
- parseInt(‘231fasd’) -->231 isNumeric 用来判断是否是数字
- parseInt('df',num) --> num介于2~36之间,若省略则为10,若‘0x’开头,则为16,若小于2或大于36则为NAN
- parseFloat('10') -->无法转换为数字将返回NaN,可通过isNan来判断是否为NaN
9).转换为原始对象
- var ff=123
- ff.ValueOf()
10).编解码函数
1))字符串编解码
- escape(string) # 编码
- unescape(string) #解码
2))URL编解码
- encodeURI(URIstring) #编码
- decodeURI(URIstring) #解码
- encodeURIComponent(URIstring) #把字符串编码为 URI 组件
- decodeURIComponent(URIstring) #解码一个编码的 URI 组件
11).Eval
可把里面的字符串当做Js代码来执行,犹如Python中的Eval。
- eval("alert('fasd')")
12).Call
能够使用属于另一个对象的方法,可传多个参数,是经典的对象冒充方法。
- function ss(a,b) {
- alert(a + this.val + b);
- };
- var o= new Object();
- o.val = "123";
- ss.call(o, "I am", "years old.");
-
- output:
- I am 123 years old
13).Apply
与Call差不多,前面是对象但是它后面的参数是一个数组。
- function ss(a,b) {
- alert(a + this.val + b);
- };
- var o= new Object();
- o.val = "123";
- ss.apply(o, new Array("I am", "years old"));
14).Caller
返回一个对函数的引用,该函数调用了当前函数,caller 属性只有在函数执行时才有定义。
- function aa() {
- if (aa.caller) {
- console.log(aa.caller);
- } else {
- console.log("111");
- }
- }
- aa()
- output: 111
15).Callee
返回正被执行的 Function 对象,表示对函数对象本身的引用,一般用在递归。
- function ff(x){
- if(x==1)
- {
- return 1;
- }
- else{
- return x+arguments.callee(x-1)
- }
- }
- ff(3);
- output:6
总结
这篇文章主要介绍了JavaScript的进阶操作知识。下一篇文章,我们继续介绍JavaScript,敬请期待!