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 相关文章推荐
给Function做的OOP扩展
May 07 Javascript
网页中CDATA标记的说明
Sep 12 Javascript
禁用Tab键JS代码兼容Firefox和IE
Apr 18 Javascript
原生JavaScript实现Ajax的方法
Apr 07 Javascript
弹出遮罩层后禁止滚动效果【实现代码】
Apr 29 Javascript
jQuery实现最简单实用的分秒倒计时
Feb 05 Javascript
Vue-cli-webpack搭建斗鱼直播步骤详解
Nov 17 Javascript
element-ui 时间选择器限制范围的实现(随动)
Jan 09 Javascript
JS左右无缝轮播功能完整实例
May 16 Javascript
vue-cli设置css不生效的解决方法
Feb 07 Javascript
vue项目中使用particles实现粒子背景效果及遇到的坑(按钮没有点击响应)
Feb 11 Javascript
vue使用transition组件动画效果的实例代码
Jan 28 Vue.js
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
2006/12/14 PHP
PHP写UltraEdit插件脚本实现方法
2011/12/26 PHP
PHP获取服务器端信息的方法
2014/11/28 PHP
PHP使用fopen与file_get_contents读取文件实例分享
2016/03/04 PHP
用js实现下载远程文件并保存在本地的脚本
2008/05/06 Javascript
jQuery下通过$.browser来判断浏览器.
2011/04/05 Javascript
让网页跳转到指定位置的jquery代码非书签
2013/09/06 Javascript
jQuery源码解读之addClass()方法分析
2015/02/20 Javascript
AngularJS控制器详解及示例代码
2016/08/16 Javascript
Javascript计算二维数组重复值示例代码
2016/12/18 Javascript
原JS实现banner图的常用功能
2017/06/12 Javascript
js实现省市级联效果分享
2017/08/10 Javascript
ES6中Array.copyWithin()函数的用法实例详解
2017/09/16 Javascript
vue.js中引入vuex储存接口数据及调用的详细流程
2017/12/14 Javascript
Vue-router的使用和出现空白页,路由对象属性详解
2018/09/03 Javascript
javascript关于“时间”的一次探索
2019/07/24 Javascript
BootStrap前端框架使用方法详解
2020/02/26 Javascript
JS如何监听div的resize事件详解
2020/12/03 Javascript
Python 变量类型及命名规则介绍
2013/06/08 Python
python技能之数据导出excel的实例代码
2017/08/11 Python
jupyter notebook引用from pyecharts.charts import Bar运行报错
2020/04/23 Python
pandas.read_csv参数详解(小结)
2019/06/21 Python
python同步两个文件夹下的内容
2019/08/29 Python
python统计指定目录内文件的代码行数
2019/09/19 Python
基于Python实现简单学生管理系统
2020/07/24 Python
在python中对于bool布尔值的取反操作
2020/12/11 Python
Oracle性能调优原则
2012/05/03 面试题
如何写一个Java类既可以用作applet也可以用作java应用
2016/01/18 面试题
策划助理岗位职责
2013/11/18 职场文书
经理管理专业毕业自荐书范文
2014/02/12 职场文书
汉语言文学职业规划
2014/02/14 职场文书
教师节座谈会主持词
2015/07/03 职场文书
办公室卫生管理制度
2015/08/04 职场文书
关于教师节的广播稿
2015/08/19 职场文书
2019年幼儿园管理条例范本!
2019/07/17 职场文书
「女孩的钓鱼慢活」全新版权绘公布
2022/03/21 日漫