Javascript 类型转换、封闭函数及常见内置对象操作示例
本文实例讲述了Javascript类型转换、封闭函数及常见内置对象。分享给大家供大家参考,具体如下:
Javascript组成
1、ECMAscriptjavascript的语法(变量、函数、循环语句等语法)
2、DOM文档对象模型操作html和css的方法
3、BOM浏览器对象模型操作浏览器的一些方法
类型转换
1、直接转换parseInt()与parseFloat()
alert('12'+7);//弹出127 alert(parseInt('12')+7);//弹出19 alert(parseInt(5.6));//弹出5 alert('5.6'+2.3);//弹出5.62.3 alert(parseFloat('5.6')+2.3);//弹出7.8999999999999995 alert(0.1+0.2);//弹出0.3000000000000004 alert((0.1*100+0.2*100)/100);//弹出0.3 alert((parseFloat('5.6')*100+2.3*100)/100);//弹出7.9
2、隐式转换“==”和“-”
if('3'==3) { alert('相等'); } //弹出'相等' alert('10'-3);//弹出7
3、NaN和isNaN
alert(parseInt('123abc'));//弹出123 alert(parseInt('abc123'));//弹出NaN
调试程序的方法
1、alert
2、console.log
3、document.title
变量作用域
变量作用域指的是变量的作用范围,javascript中的变量分为全局变量和局部变量。
1、全局变量:在函数之外定义的变量,为整个页面公用,函数内部外部都可以访问。
2、局部变量:在函数内部定义的变量,只能在定义该变量的函数内部访问,外部无法访问。
//全局变量 vara=12; functionmyalert() { //局部变量 varb=23; alert(a); alert(b); } myalert();//弹出12和23 alert(a);//弹出12 alert(b);//出错
封闭函数
封闭函数是javascript中匿名函数的另外一种写法,创建一个一开始就执行而不用命名的函数。
一般定义的函数和执行函数:
functionmyalert(){ alert('hello!'); }; myalert();
封闭函数:
(functionmyalert(){ alert('hello!'); })();
还可以在函数定义前加上“~”和“!”等符号来定义匿名函数
!functionmyalert(){ alert('hello!'); }()
封闭函数的好处
封闭函数可以创造一个独立的空间,在封闭函数内定义的变量和函数不会影响外部同名的函数和变量,可以避免命名冲突,在页面上引入多个js文件时,用这种方式添加js文件比较安全,比如:
variNum01=12; functionmyalert(){ alert('hello!'); } (function(){ variNum01=24; functionmyalert(){ alert('hello!world'); } alert(iNum01); myalert() })() alert(iNum01); myalert();
常用内置对象
1、document
document.getElementById//通过id获取元素 document.getElementsByTagName//通过标签名获取元素 document.referrer//获取上一个跳转页面的地址(需要服务器环境)
2、location
window.location.href//获取或者重定url地址 window.location.search//获取地址参数部分 window.location.hash//获取页面锚点或者叫哈希值
3、Math、
Math.random获取0-1的随机数 Math.floor向下取整 Math.ceil向上取整
感兴趣的朋友可以使用在线HTML/CSS/JavaScript代码运行工具:http://tools.jb51.net/code/HtmlJsRun测试上述代码运行效果。
更多关于JavaScript相关内容可查看本站专题:《JavaScript常用函数技巧汇总》、《javascript面向对象入门教程》、《JavaScript错误与调试技巧总结》、《JavaScript数据结构与算法技巧总结》及《JavaScript数学运算用法总结》
希望本文所述对大家JavaScript程序设计有所帮助。
声明:本文内容来源于网络,版权归原作者所有,内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:czq8825#qq.com(发邮件时,请将#更换为@)进行举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。