JavaScript是一种依托于网页为宿主的脚本语言,JavaScript是一门非常强大的语言,尤其对于web端,用途广泛,好用,偏向于操作网页,可以操作网页中的任何一个元素,JavaScript的缺点是是不能操作数据库,所以制作动态网页时需要结合其他语言来完成。

初学者可能会误以为JavaScript和Java语言之间有关系,虽然他们名字很像,他们确实是没有关系的。Java是sun公司的,该公司在2010年10月24日被oracle收购,oracle不仅是数据库的名字,oracle也就是大名鼎鼎的甲骨文公司。JavaScript是Netspace公司的,该公司1998年11月被AOL美国在线收购了。而JScript则是微软的,三者并没有太多关系。

JS可以嵌在网页的任何一个位置,也可以在外部。用<script>标签。

JS的注释语法分有单行注释和多行注释两种:

单行注释://后一行的内容会被注释

多行注释:/* 中间的内容会被注释 */

HTML:<!-- 中间的内容被注释 -->

css:/* 中间的内容被注释 */

JS的输出语法:

alert();输出其中的内容

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>无标题文档</title>
</head>

<body>
</body>
</html>
<script>
    var i=10;
    alert("hello world"+"    "+i);
</script>

如图,<script>嵌在了网页的最下方:

用var定义了一个变量i,然后用alert输出可以看出,

1.“”中的内容会被直接输出

2.定义好的变量会输出变量的值而不是变量本身。

3.+号会把它们连起来输出

confirm();输出可选择的内容

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>无标题文档</title>
</head>

<body>
</body>
</html>
<script>
    var i=confirm("确认吗");
    alert(i);
</script>

运行该代码后,会出现如下提示框:

如果点击确定:

如果点击取消:

由此可见,confirm不仅输出,还可以和用户简单的交流,如果用户点击确定,会返回true,如果用户点击取消,会返回false,confirm有且仅有这两个返回值。

prompt("");用户输入

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>无标题文档</title>
</head>

<body>
</body>
</html>
<script>
    var i=prompt("请输入");
    alert(i);
</script>

运行后:

会出现一个输入的对话框,我们尝试输入一段文字:

点击确定后:

会返回用户输入的内容。

这里需要注意的是,用户输入的内容返回都是字符串形式。输入数字1,返回就是字符串‘1’。

数据类型:

计算机存储数据的时候并不是所有的数据都一样的,严格按照数据类型来存储。程序语言都绕不开数据类型,常见的数据类型有:

int  整数

float  单精度小数

double  双精度小数

decimal  小数

money  货币类型

char  字符

string  字符串

bool  布尔型,只有true和false

datetime  日期时间类型

强类型语言和弱类型语言:

说到类型,又分为强类型语言和弱类型语言,简单来说,强类型语言定义变量需要指定类型,比如C#,Java,假设你在c#代码中,你定义了一个整型变量后,就不能赋一个字符型数据给这个变量,除非你用强制类型转换,弱类型语言定义变量不需要指定类型,比如JavaScript,var 可以接受任何类型。

先记住慢慢理解:

强类语言使得对象处理的数据更容易被理解,而不需要与ADO.NET和XML编程模型打交道。这在大型系统里是很有用的,特别是当设计者定义了由自定义类所组成的数据访问层,并把设计向组织内的其他程序员发布的时候。当然,现在自定义类的使用有下降的趋势:它们需要编更多的代码,因为你必须创建.NET Framework所缺少的对象关系映射层。

强/弱类型是指类型检查的严格程度的。语言有无类型,弱类型和强类型三种。无类型的不检查,甚至不区分指令和数据。弱类型的检查很弱,仅能严格的区分指令和数据。强类型的则严格的在编译期进行检查。

类型转换:

虽然JavaScript是弱类型语言,但还是要用到类型转换。

parseInt()转换成整数

parseFloat()转换成小数

在前面已经可以看到,字符串与数字相加,得出的是在字符串的相加

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>无标题文档</title>
</head>

<body>
</body>
</html>
<script>
    var i='999';
    var l=1.5;
    alert(i+l);
    i=parseInt(i);
    alert(i+l);
</script>

可见在JavaScript中字符串和数字类型相加,得出的结果是字符串的组合,点确定

这是转换成变量i成数字之后,数字和数字之间相加,得出的结果是数字的和。

JavaScript中的运算符表达式

数学运算符:

+

数字求和,或字符串的组合

-

求差

*

乘积

/

除号需要注意的是,如果除一个不能整除得数,在JavaScript中会得出准确的小数,但是在其他强类型语言中,不能够整除的整数得出的还是整数,因为强类型语言中整数除以整数得出的还是整数。多余的小数就去掉了。

%

取余数

补充:有些小数运算会出问题,如下

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>无标题文档</title>
</head>

<body>
</body>
</html>
<script>
    var i=1.1;
    var l=56;
    alert(i*l);
</script>

得出的结果明显有问题,与浮点数有关,可以尝试在小数运算中扩大10000倍在除以10000来解决问题。

逻辑运算符:

&&

与,并,两者都要是真true

||

或,二者有一个是真true就可以

非,否

比运算符:

==

等于,===是恒等于,=是赋值

!=,<>

不等于

>

大于

<

小于

>=

大于等于

<=

小于等于

三元运算符:

a==b?"A等于B":"A不等于B";

举例:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>无标题文档</title>
</head>

<body>
</body>
</html>
<script>
    var i=1;
    var l=10;
    var c=i>=l?"ok":"no";
    alert(c);
</script>

以上是判断变量i是否大于等于变量l,若果是,返回OK,如果不是,返回no,c是判断的返回值。

再来一个输入的判断:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>无标题文档</title>
</head>

<body>
</body>
</html>
<script>
    var i=prompt("请输入第一个数字");
    var l=prompt("请输入第二个数字");
    var c=i>=l?"第一个数大于等于第二个数":"第一个数不大于第二个数";
    alert(c);
</script>

输入第一个数字12

输入第二个数字10

判断得出第一个数字大于第二个数字。

JavaScript基础之注释,类型,输出,运算符的更多相关文章

  1. JavaScript基础知识:数据类型,运算符,流程控制,语法,函数。

    JavaScript概述 ECMAScript和JavaScript的关系 1996年11月,JavaScript的创造者--Netscape公司,决定将JavaScript提交给国际标准化组织ECM ...

  2. 前端知识体系:JavaScript基础-变量和类型

    前端工程师自检清单 1. JavaScript规定了几种语言类型 2. JavaScript对象的底层数据结构是什么 3. Symbol类型在实际开发中的应用.可手动实现一个简单的 Symbo 4. ...

  3. Python基础之注释,算数运算符,变量,输入和格式化输出

    Python的注释 注释的作用:用自己熟悉的语言,对某些代码进行标注说明,增强程序的可读性: 在python解释器解释代码的过程中,凡是#右边的,解释器都直接跳过这一行: 注释的分类 单行注释 # 这 ...

  4. JavaScript基础(语法类型转换、运算符、语句)

    1.类型转换: 分为自动转换和强制转换,一般用强制转换. 其他类型转换为整数:parseint(): 其他类型转换为小数:parsefloat(): 判断是否是一个合法的数字类型:isNaN(): 是 ...

  5. javascript基础篇--function类型(上)

    在js中,function类型实际上是对象,每一个函数都是function类型的一个实例.并且与其它引用类型一样具有属性和方法. 声明 1普通方式 Function sum(num1,num2) { ...

  6. 你真的懂JavaScript基础类型吗

    夯实Javascript基础. 基本类型有六种: null,undefined,boolean,number,string,symbol. 基本类型的值是保存在栈内存中的简单数据段 基础类型特性 基础 ...

  7. JavaScript基础语法资料

    JavaScript基础第01天 1 - 编程语言 1.1 编程 编程: 就是让计算机为解决某个问题而使用某种程序设计语言编写程序代码,并最终得到结果的过程. 计算机程序: 就是计算机所执行的一系列的 ...

  8. JavaScript中判断对象类型方法大全1

    我们知道,JavaScript中检测对象类型的运算符有:typeof.instanceof,还有对象的constructor属性: 1) typeof 运算符 typeof 是一元运算符,返回结果是一 ...

  9. JavaScript中判断对象类型的种种方法

    我们知道,JavaScript中检测对象类型的运算符有:typeof.instanceof,还有对象的constructor属性: 1) typeof 运算符 typeof 是一元运算符,返回结果是一 ...

随机推荐

  1. effective c++ 思维导图

    历时两个多月的时间,终于把effective c++又复习了一遍,比较慢,看的是英文版,之前看的时候做过一些笔记,但不够详细,这次笔者是从头到尾的翻译了一遍,加了一些标题,先记录到word里面,然后发 ...

  2. Printk与sched_clock_init的一点分析

    在分析Linu内核启动的过程中,发现一段"不平常"的日志,感觉产生这段日志的代码肯定是"不可思议"的.因此就大致分析了一下: 日志如下: [ 0.000000] ...

  3. mysql分页查询优化

    由于MySql的分页机制:并不是跳过 offset 行,而是取 offset + N 行,然后返回放弃前 offset 行,返回N 行, 所以当 offset 特别大的时候,效率就非常的低下,要么控制 ...

  4. 【lucene系列学习二】Lucene实现高亮显示关键词

    首先,导入下图所示库 然后,import org.apache.lucene.search.highlight.*; 下面,我们新建一个实现高亮显示功能的函数 public static String ...

  5. JAVA中令人疑惑的字符串

    Java中不同的字符串存在于同一个存储池中,字符串变量将指向存储池中相应的位置,也就是字符串变量里面包含的并不是字符串而是这个字符串对象的内存地址. String a = "123" ...

  6. xmlplus 组件设计系列之十 - 网格(DataGrid)

    这一章我们要实现是一个网格组件,该组件除了最基本的数据展示功能外,还提供排序以及数据过滤功能. 数据源 为了测试我们即将编写好网格组件,我们采用如下格式的数据源.此数据源包含两部分的内容,分别是表头数 ...

  7. 音频特征提取——librosa工具包使用

    作者:桂. 时间:2017-05-06  11:20:47 链接:http://www.cnblogs.com/xingshansi/p/6816308.html 前言 本文主要记录librosa工具 ...

  8. YAHOO 34 条前端优化建议

    雅虎团队经验:网站页面性能优化的34条黄金守则 1.尽量减少HTTP请求次数       终端用户响应的时间中,有80%用于下载各项内容.这部分时间包括下载页面中的图像.样式表.脚本.Flash等.通 ...

  9. redis集群添加删除节点

    Redis3.0集群添加节点 1:首先把需要添加的节点启动 cd /usr/local/cluster/ mkdir 7006 cp /usr/local/cluster/redis.conf  /u ...

  10. 新鲜出炉的less与sass较量

    最近接触了Bootstrap,涉及到了LESS,CSS的预处理器使用最广泛的就是LESS和Sass,都是努力把CSS武装成为开发语言,让它从简单的描述性语言过渡到具有程序式特性的语言,主要的特性就是: ...