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. java写文件读写操作(IO流,字符流)

    package copyfile; import java.io.*; public class copy { public static void main(String[] args) throw ...

  2. 何为代理?jdk动态代理与cglib代理、spring Aop代理原理浅析

    原创声明:本博客来源为本人原创作品,绝非他处摘取,转摘请联系博主 代理(proxy)的定义:为某对象提供代理服务,拥有操作代理对象的功能,在某些情况下,当客户不想或者不能直接引用另一个对象,而代理对象 ...

  3. Java中多线程同步类 CountDownLatch

    在多线程开发中,常常遇到希望一组线程完成之后在执行之后的操作,java提供了一个多线程同步辅助类,可以完成此类需求: 类中常见的方法: 其中构造方法:CountDownLatch(int count) ...

  4. apache配置多个站点

    序:这次项目主要是为了给微信客户端添加一个地址,在微信公众号里面添加一个可以访问的app下载页面,说起来很简单,但总不能为了这么小的一个网站新建一个web服务器吧! 现在开始配置,首先必须确认已经在L ...

  5. 【WPF】学习笔记(二)——依旧是一个电子签名板

    这篇博客呢,主要谈谈在实现电子签名功能中踩过的几个坑:1.System.BadImageFormatException异常:2.无法加载DLL“###.dll”,: 找不到指定的模块. (异常来自 H ...

  6. centos下的activemq的配置及PHP的使用

    一.安装JDK 1.下载JDK(官网:http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.ht ...

  7. spring计划任务

    Spring3中加强了注解的使用,其中计划任务也得到了增强,现在创建一个计划任务只需要两步就完成了: 创建一个Java类,添加一个无参无返回值的方法,在方法上用@Scheduled注解修饰一下: 在S ...

  8. ConcurrentHashMap、HashTable、HashMap的区别

    HashTable与ConcurrentHashMap: 相同点:都是线程安全的,可以在多线程的环境下运行.key和value都不能为null 区别:性能上的差异.HashTable每次操作对象都会锁 ...

  9. stl string常用函数

    string类的构造函数: string(const char *s); //用c字符串s初始化 string(int n,char c); //用n个字符c初始化 此外,string类还支持默认构造 ...

  10. linux防火墙基本操作

    1.查看防火墙运行状态 # firewall-cmd --state 或者 # systemctl status firewalld.service .关闭防火墙 # systemctl stop f ...