javascipt基础内容--需要注意的细节

javascipt-基础---细节需要注意的地方:

1、特殊数值:NaN、Infinity、isNaN()、isFinite()

NaN:

代码如下:

var a=parseInt('a123');
window.alert(a); //输出NaN

Infinity:

代码如下:

window.alert(6/0);//输出Infinity 无穷大(最好不要这样写)

isNaN():判断是不是数,不是数返回true,是数返回false

代码如下:

var a="dd";
window.alert(isNaN(a)); //返回true

isFinite():用于判断是不是无穷大。如果 number 是 NaN(非数字),或者是正、负无穷大的数,则返回 false。

代码如下:

window.alert(isFinite(6/1)); //返回true
window.alert(isFinite(6/0)); //返回false

2、逻辑运算符:

在逻辑运算中,0、""、false、null、undefined、NaN均表示false

(或 || )|| 将返回第一个不为false 那个值(对象亦可),或者是最后一个值(如果全部都是false的话)

这个知识点在javascript框架中运用很多。

a、

代码如下:

var a=true;
var b=false;
var c=b || a;

window.alert(c); //输出true

b、

代码如下:

var a=2;
var b=0
var c= a || b;

window.alert(c); //返回第一个值,输出2

c、

代码如下:

var a=false;
var b="";
var c =0;
var d =new Object(); //对象

var aa=a || b || c ||d ; //a,b,c 全是false 这返回d
window.alert(aa); //返回d (对象)

4、多分支 switch

代码如下:

var flag=1;

switch(flag){

default:
window.alert("啥都不是");

case 'a':
window.alert("a");

case 'b':
window.alert("b"); //没有break语句,没有匹配成功, 此时结果都输出

}

代码如下:

var flag=1;

switch(flag){

default:
window.alert("啥都不是");

case 'a':
window.alert("a");

case 1:
window.alert("b"); //没有break语句 当匹配成功则不再找break语句 此时输出b

}

5、函数调用

func.js

代码如下:

function abc(val){

window.alert("abc()"+val);
}

//有返回值的函数
function test(num1,num2){

var res=0;
res =num1+num2;

return res;
}

//没有返回值的的函数
function noVal(num1,num2){

var res=0;
res=num1+num2;
}

函数调用:

代码如下:

<html>
<head>
<meta http-equiv="Content-Type" content="text/html;charset=utf-8">
<script type="text/javascript" src="func.js"></script>
<script type="text/javascript">

//函数调用1---普通调用(常用调用函数)
abc(50);

//函数调用2---变量=函数名; 调用的时候这样调用:变量(实际参数)
var test1=abc; //此时变量就相当于函数的引用(指针)
window.alert(abc); //输出abc整个函数代码,就能理解了
test1(500);

//如果调用的函数有返回值,可以在程序中直接返回,没有返回值但是你接收了,这是返回undefined
//调用有返回值的函数
var res=test(20,40);
window.alert(res);

//调用没有返回值的函数
window.alert("调用没有返回值的函数");
var res=noVal(1,1);
//此时输出undefined
window.alert(res);

</script>
</head>
<body></body>
</html>

js支持参数个数可变的函数

代码如下:

<html>
<head>
<meta http-equiv="Content-Type" content="text/html;charset=utf-8">
<script type="text/javascript" src="func.js"></script>
<script type="text/javascript">

//函数调用--递归

/* function abc(num){

if(num>3){

abc(--num);
}
document.writeln(num);
}

//调用函数
abc(5); //输出 3 3 4
*/

//js支持参数个数可变的函数

function abc(){
//js中提供了一个arguments,可以访问所以传入的值
window.alert(arguments.length); //传入多少个
//遍历传入的参数
for(var i=0;i<arguments.length;i++){

window.alert(arguments[i]);
}
}

//调用
window.alert("abc(12,13,\"hello\",56)");
abc(12,13,"hello",56)

window.alert("abc(5)");
abc(5);

window.alert("abc()");
abc();
</script>
</head>
<body></body>
</html>

(0)

相关推荐

  • 7个让JavaScript变得更好的注意事项

      随着浏览器性能提高,伴随着新的HTML5的编程接口的稳步采用,网页上的JavaScript的音量在逐渐增加.然而,一个写得不好的程序编码却拥有着打破整个网站,让用户为之沮丧和驱赶潜在客户的潜力. 开发人员必须使用所有供他们任意使用的工具和技术来提升他们的代码的质量,并有信心确认每次的执行都是可以预见的.这是一个在我心灵深处的话题并且我已经工作多年找到一组开发过程中来遵循的步骤以确保只有最高质量的代码可以被发布. 您只要按照这七个步骤操作就会大大提高您的JavaScript项目的质量.使用这个

  • Javascript 一些需要注意的细节(必看篇)

    1.使用 === 代替 == JavaScript 使用2种不同的等值运算符:===|!== 和 ==|!=,在比较操作中使用前者是最佳实践. "如果两边的操作数具有相同的类型和值,===返回true,!==返回false."--JavaScript:语言精粹 然而,当使用==和!=时,你可能会遇到类型不同的情况,这种情况下,操作数的类型会被强制转换成一样的再做比较,这可能不是你想要的结果. 2.Eval == 邪恶 起初不太熟悉时,"eval"让我们能够访问Jav

  • 45个JavaScript编程注意事项、技巧大全

    JavaScript是一个绝冠全球的编程语言,可用于Web开发.移动应用开发(PhoneGap.Appcelerator).服务器端开发(Node.js和Wakanda)等等.JavaScript还是很多新手踏入编程世界的第一个语言.既可以用来显示浏览器中的简单提示框,也可以通过nodebot或nodruino来控制机器人.能够编写结构清晰.性能高效的JavaScript代码的开发人员,现如今已成了招聘市场最受追捧的人. 在这篇文章里,我将分享一些JavaScript的技巧.秘诀和最佳实践,除了

  • javascript中的一些注意事项 更新中

    一.prototype原型对象,需要注意的原则是: (1). 使用原型可以大量减少每个对象对内存的需求量,因为对象可以继承许多属性. (2). 即使属性在对象被创建之后才被添加至原型中,对象也能够继承这些属性. 示例代码: 复制代码 代码如下: <script type="text/javascript"> function print(msg) { document.write(msg,'<br/>'); } function printhr() { docu

  • JavaScript初学者应注意的七个细节详细介绍

    种种语言都有它特别的地方,对于JavaScript来说,使用var就可以声明任意类型的变量,这门脚本语言看起来很简单,然而想要写出优雅的代码却是需要不断积累经验的.本文利列举了JavaScript初学者应该注意的七个细节,与大家分享. (1)简化代码 -------------------------------------------------------------------------------- JavaScript定义对象和数组非常简单,我们想要创建一个对象,一般是这样写的: 复

  • javascipt基础内容--需要注意的细节

    javascipt-基础---细节需要注意的地方: 1.特殊数值:NaN.Infinity.isNaN().isFinite() NaN: 复制代码 代码如下: var a=parseInt('a123');window.alert(a); //输出NaN Infinity: 复制代码 代码如下: window.alert(6/0);//输出Infinity 无穷大(最好不要这样写) isNaN():判断是不是数,不是数返回true,是数返回false 复制代码 代码如下: var a="dd&

  • Kubernetes(K8S)入门基础内容介绍

    Introduction basic of kubernetes 我们要学习 Kubernetes,就有首先了解 Kubernetes 的技术范围.基础理论知识库等,要学习 Kubernetes,肯定要有入门过程,在这个过程中,学习要从易到难,先从基础学习. 那么 Kubernetes 的入门基础内容(表示学习一门技术前先了解这门技术)包括哪些? 根据 Linux 开源基金会的认证考试,可以确认要了解 Kubernetes ,需要达成以下学习目标: Discuss Kubernetes. Lea

  • JavaScript学习笔记之基础语法

    JavaScript中很多基础内容和Java中大体上基本一样,所以不需要再单独重复讲了,包括: 各种算术运算符.比较运算符.逻辑运算符: if else语句.switch语句: for循环.while循环.do while循环: 标签.break.continue: try catch throw语句. 可以查看文后的参考链接. 后面的内容都是JavaScript中不同的部分. 本文先说上面内容中的几个细节不同. 1.全等判断 JavaScript的比较运算符中有一个全等判断===,是用来判断值

  • ASP.NET Core MVC/WebApi基础系列2

    >前言 好久没冒泡了,算起来估计有快半年没更新博客了,估计是我第一次停更如此之久,人总有懒惰的时候,时间越长越懒惰,但是呢,不学又不行,持续的惰性是不行dei,要不然会被时光所抛弃,技术所淘汰,好吧,进入今天的主题,本节内容,我们来讲讲.NET Core当中的模型绑定系统.模型绑定原理.自定义模型绑定.混合绑定.ApiController特性本质,可能有些园友已经看过,但是效果不太好哈,这篇是解释最为详细的一篇,建议已经学过我发布课程的童鞋也看下,本篇内容略长,请保持耐心,我只讲你们会用到的或者

  • Python Matplotlib绘图基础详细教程

    目录 1. 画图的基本步骤 1.1一步一步看 2.散点图 3.条形图的绘制 4.四幅子图的绘制 5.饼状图的绘制 6.热力图的绘制 总结 plt是最常用的接口 1. 画图的基本步骤 1.导入模块 import matplotlib as mpl import matplotlib.pyplot as plt 2.创建画板,然后对画板进行调整 3.定义数据 4.绘制图形(包含坐标轴的设置,数据的导入,线条的样式,颜色,还有标题,图例,等等) 5.plt.show() 1.1一步一步看 1.1.1*

  • Vue.js基础指令实例讲解(各种数据绑定、表单渲染大总结)

    Vue.js 是一套构建用户界面的渐进式框架.他自身不是一个全能框架--只聚焦于视图层.因此它非常容易学习,非常容易与其它库或已有项目整合.在与相关工具和支持库一起使用时,Vue.js 也能完美地驱动复杂的单页应用.他是基于AnjularJs 编写的,所以和前者的语法特别相似,却又使用简洁了很多. 那今天,我就给大家详细的说道说道这个 Vue.js ,以下是我们这次详解的目录,朋友们可以根据自己的情况选择性阅读,所有操作均附有代码实现. 1. Vue.js 如何绑定到页面中,使用他的功能. 2.

  • Linux基础之终端、控制台、tty、pty简介说明

    一. 基本概念 1. tty tty(终端设备的统称):tty一词源于teletypes,或者teletypewriters,原来指的是电传打字机,是通过串行线用打印机键盘阅读和发送信息的东西,后来这东西被键盘与显示器取代,所以现在叫终端比较合适.终端是一种字符型设备,它有多种类型,通常使用tty来简称各种类型的终端设备. 2. pty pty(伪终端,虚拟终端):但是如果我们远程telnet到主机或使用xterm时不也需要一个终端交互么?是的,这就是虚拟终端pty(pseudo-tty) 3.

  • Android注解基础介绍快速入门与解读

    首先什么是注解?@Override就是注解,它的作用是: 1.检查是否正确的重写了父类中的方法. 2.标明代码,这是一个重写的方法. 1.体现在于:检查子类重写的方法名与参数类型是否正确:检查方法private/final/static等不能被重写.实际上@Override对于应用程序并没有实际影响,从它的源码中可以出来. 2.主要是表现出代码的可读性. 作为Android开发中熟知的注解,Override只是注解的一种体现,更多时候,注解还有以下作用: 降低项目的耦合度. 自动完成一些规律性的

  • C#多线程基础知识汇总

    最近自己写了个小爬虫,里面用到了多线程技术,忽然发现对此技术竟然有些陌生了,于是乎开始疯狂的去问度娘,在此记录下来,以便自己和各位小伙伴们学习. 一.什么是线程 一个应用程序就相当于一个进程,进程拥有应用程序的所有资源进程包括线程,进程的资源被线程共享,但不拥有线程.我们可以打开电脑中的任务管理器,运行的.exe都是一个进程,里面的分支是线程. 二.多线程 多线程其实就是进程中一段并行运行的代码 1. 创建并启动线程 static void Main() { //获取线程Id var threa

  • jenkins 构建项目之 pipeline基础教程

    一.pipeline 简介 ​pipeline ,简单来说,就是一套运行在 jenkins 上的工作流框架.将原来独立运行于单个或者多个节点的任务连接起来,实现单个任务难以完成的复杂流程 编排 和 可视化 的工作. 二.pipeline 有哪些好处 代码:pipeline 以代码的形式实现,通常被检入源代码控制,使团队能够编辑,审查和迭代其传送流程. 持久:无论是计划内的还是计划外的服务器重启,pipeline 都是可以恢复的. 可停止:pipeline 可接受交互式输入,以确定是否继续执行 p

随机推荐