Javascript 类型转换、封闭函数及常见内置对象操作示例


Posted in Javascript onNovember 15, 2019

本文实例讲述了Javascript 类型转换、封闭函数及常见内置对象。分享给大家供大家参考,具体如下:

Javascript组成

1、ECMAscript javascript的语法(变量、函数、循环语句等语法)
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、局部变量:在函数内部定义的变量,只能在定义该变量的函数内部访问,外部无法访问。

<script type="text/javascript">
  //全局变量
  var a = 12;
  function myalert()
  {
    //局部变量
    var b = 23;
    alert(a);
    alert(b);
  }
  myalert(); //弹出12和23
  alert(a); //弹出12  
  alert(b); //出错
</script>

封闭函数

封闭函数是javascript中匿名函数的另外一种写法,创建一个一开始就执行而不用命名的函数。

一般定义的函数和执行函数:

function myalert(){
  alert('hello!');
};
myalert();

封闭函数:

(function myalert(){
  alert('hello!');
})();

还可以在函数定义前加上“~”和“!”等符号来定义匿名函数

!function myalert(){
  alert('hello!');
}()

封闭函数的好处

封闭函数可以创造一个独立的空间,在封闭函数内定义的变量和函数不会影响外部同名的函数和变量,可以避免命名冲突,在页面上引入多个js文件时,用这种方式添加js文件比较安全,比如:

var iNum01 = 12;
function myalert(){
  alert('hello!');
}
(function(){
  var iNum01 = 24;
  function myalert(){
    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.3water.com/code/HtmlJsRun测试上述代码运行效果。

更多关于JavaScript相关内容可查看本站专题:《JavaScript常用函数技巧汇总》、《javascript面向对象入门教程》、《JavaScript错误与调试技巧总结》、《JavaScript数据结构与算法技巧总结》及《JavaScript数学运算用法总结》

希望本文所述对大家JavaScript程序设计有所帮助。

Javascript 相关文章推荐
关于在IE下的一个安全BUG --可用于跟踪用户的系统鼠标位置
Apr 17 Javascript
jQuery在html有效在jsp无效的原因及解决方法
Aug 02 Javascript
深入分析jsonp协议原理
Sep 26 Javascript
jQuery使用$.each遍历json数组的简单实现方法
Apr 18 Javascript
js上下视差滚动简单实现代码
Mar 07 Javascript
Node.JS文件系统解析实例详解
May 15 Javascript
axios拦截设置和错误处理方法
Mar 05 Javascript
网页爬虫之cookie自动获取及过期自动更新的实现方法
Mar 06 Javascript
详解微信小程序与内嵌网页交互实现支付功能
Oct 22 Javascript
vue实现微信分享链接添加动态参数的方法
Apr 29 Javascript
jQuery--遍历操作实例小结【后代、同胞及过滤】
May 22 jQuery
js基础语法与maven项目配置教程案例
Jul 15 Javascript
JavaScript定时器常见用法实例分析
Nov 15 #Javascript
解决Layui 表格自适应高度的问题
Nov 15 #Javascript
layui前端时间戳转化实例
Nov 15 #Javascript
JavaScript变量基本使用方法实例分析
Nov 15 #Javascript
JavaScript字符串处理常见操作方法小结
Nov 15 #Javascript
layui数据表格重载实现往后台传参
Nov 15 #Javascript
JS实现贪吃蛇游戏
Nov 15 #Javascript
You might like
PHP扩展CURL的用法详解
2014/06/20 PHP
php数组合并与拆分实例分析
2015/06/12 PHP
PHP实现根据时间戳获取周几的方法
2016/02/26 PHP
PHP PDOStatement::errorInfo讲解
2019/01/31 PHP
用JavaScript脚本实现Web页面信息交互
2006/12/21 Javascript
jQuery Study Notes学习笔记 (二)
2010/08/04 Javascript
Javascript加载速度慢的解决方案
2014/03/11 Javascript
JQuery判断radio是否选中并获取选中值的示例代码
2014/10/17 Javascript
JavaScript中Math.SQRT2属性的使用详解
2015/06/14 Javascript
Angularjs注入拦截器实现Loading效果
2015/12/28 Javascript
js实现滚动条滚动到某个位置便自动定位某个tr
2021/01/20 Javascript
JS原型、原型链深入理解
2016/02/27 Javascript
详解jQuery UI库中文本输入自动补全功能的用法
2016/04/23 Javascript
jQuery文件上传控件 Uploadify 详解
2016/06/20 Javascript
详解基于angular路由的requireJs按需加载js
2017/01/20 Javascript
vue基于mint-ui实现城市选择三级联动
2020/06/30 Javascript
jquery登录的异步验证操作示例
2019/05/09 jQuery
Vue项目中使用jsonp抓取跨域数据的方法
2019/11/10 Javascript
如何基于JS截获动态代码
2019/12/25 Javascript
浅谈Vue.use到底是什么鬼
2020/01/21 Javascript
Vue 打包体积优化方案小结
2020/05/20 Javascript
vue3.0生命周期的示例代码
2020/09/24 Javascript
Python NumPy库安装使用笔记
2015/05/18 Python
如何优雅地处理Django中的favicon.ico图标详解
2018/07/05 Python
Python中使用Counter进行字典创建以及key数量统计的方法
2018/07/06 Python
对python周期性定时器的示例详解
2019/02/19 Python
css3中检验表单的required,focus,valid和invalid样式
2014/02/21 HTML / CSS
租租车:国际租车、美国租车、欧洲租车、特价预订国外租车(中文服务)
2018/03/28 全球购物
自行车广告词大全
2014/03/21 职场文书
党员实事承诺书
2014/03/26 职场文书
师德师风个人自我剖析材料
2014/09/27 职场文书
婚礼女方父母答谢词
2015/01/04 职场文书
《只有一个地球》教学反思
2016/02/16 职场文书
详解MySQL InnoDB存储引擎的内存管理
2021/04/08 MySQL
python和Appium的移动端多设备自动化测试框架
2022/04/26 Python
CentOS7安装MySQL8的超级详细教程(无坑!)
2022/06/10 Servers