JavaScript学习第一篇
在学习之前让我们了解了解JavaScript的由来
Javascript是一种web技术,最初起名叫LiveScript,它是Netscape开发出来一种脚本语言,其目的是为了扩展基本的Html的功能,用来替代复杂的CGI程序来处理web页表单信息,为web页增加动态效果。当Java出现以后.Netscape和Sun公司一起开发了一种新的脚本语言,他的语法和Java非常的类似,所以命名为:Javascript.
在扩展一下ECMA:它是由Microsoft,Netscape(网景公司)和其它脚本语言商决定成立一个国际组织,并将其命名为ECMA,改组织专门从事脚本语言标准的制定,ECMA制定的脚本语言被称为ECMAScript
有人肯定在想JavaScript和ECMA有什么关系?
他们的关系就是所有的javascript都遵循ECMA的标准。就好像html4.0网页头部声明符合W3C规范一样。
一、JavaScript介绍
js是一门在客户端进行交互的网页编程语言
特点:简单易用 ,基于对象:,基于过程:
解释执行: js js引擎来执行源代码
编译执行: Java c# 源代码 ==>可执行文件.dll ==>电脑执行.dll课执行文件
使用范围:表单验证,轮播图特效,游戏开发
二、JavaScript书写位置
内嵌式写法
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Document</title>
<script type="text/javascript">
alert("hello world");
</script>
</head>
<body> </body>
</html>
外链式写法
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Document</title>
<script type="text/javascript" src="XXXX.js"></script>
</head>
<body> </body>
</html>
新建一个js文件
通过script标签里的src=”xxxx.js”属性将JS文件调入到当前页面。补充内嵌式写法:推荐Js代码最好放在body结束标签的后边。补充外链式写法:推荐将多个js文件合并为一个js文件在浏览器中执行。
三、Js初体验
在页面中输出消息的几种写法
alert(“信息”) 在页面出现一个弹出框,将信息弹出。 confirm(“信息”) 在页面出现一个弹出框,将信息显示,常与if判断语句结合使用。 prompt(“信息”) 弹出一个文本框,可以在文本框接收内容。常用于接收信息。 console.log(“信息”)将信息输出到控制台,常用于代码调试。 document.write(“信息”) 直接在页面输出消息。
代码注释
快捷键:ctrl+/:单行注释 //、多行注释/* */
分号的问题:一行代码结束后,必须在后边加上分号。
四、变量(重点)
定义变量:定义变量使用var 来定义变量名。使用赋值运算符来给变量赋值
赋值运算符赋值运算符为“=”,这个等号不用判断两者是否相同。如果判断是否相同,可使用==(===)
变量的命名规范:
不能使用纯数字或者数字开头来定义变量名。
不推荐使用汉字来定义变量名。
不能使用特殊符号或者特殊符号开头来定义变量名(_除外)
不能以关键字来定义变量名
不能使用保留字来定义变量名
注意:在JS中,是严格区分大小写的。
五、数据类型
简单类型
number 数字类型
包括正数,负数,小数
取值范围:能表示的最大值是±1.7976931348623157乘以10的308次方,能表示的最小值是±5 乘以10的-324次方
string 字符串
凡是用””或者’’引起来的全是字符串类型。
转义字符:
\” 转双引号
\’ 转单引
\r 回车
\n 换行
boolean 布尔类型:布尔数据类型两个数据值: true false、实际运算中,true 代表1 false代表0;
undefined 未初始化: 定义了变量,未赋值。
null : object(值为空) 引用为空, 内存里找不到这个变量。
复杂类型:object 对象、array 数组
六、运算符
1、比较运算符:< > >= <= !=
2、算术运算符
加运算:+ :两个数据类型都为数字类型变量相加,得到的是数字类型。一个为数字类型的变量和一个为字符串类型的变量相加,得到的是一个字符串类型,加号起一个连接的作用。
减运算:- :如果两个变量都为数字类型相减,得到的是数字类型。如果一个为数字类型的变量,一个为数字字符串,相减得到的是数字类型。如果一个为数字类型的变量,一个为非数字字符串,相减得到的NaN,数字类型。NaN not a number。两个都为字符串的变量相减,得到的是NaN.
除运算 /:两个都为字符串的变量相减,得到的是NaN.两个都为数字类型的变量,相除得到的是数字类型。如果一个为数字类型的变量,一个为数字字符串变量,相除得到的是数字类型。如果一个为数字类型的变量,一个为非数字字符串,相除得到的NaN,数字类型。如果0作为除数,得到的是infinity(无限大),是一个数字类型。
% 取余数:() 优先级 先计算()括号里边的值。
3、逻辑运算符
或(||):参与运算,只要满足一个为true,或运算最后的值为true、参与运算的值都为false,或运算最后的值为false.
且(&&):参与运算,只要满足一个为false,或运算最后的值为false、参与运算,都为true的时候,且运算最后的值为true.
非(!):如果运算结果为true,非运算结果为false、如果运算结果为false,非运算结果为true.
四、等号运算符
“=” 赋值预算符
“==” 比较运算符:只判断内容是否相同,不判断数据类型。
“===” 比较运算符:不仅判断内容是否相同,还判断数据类型是否相同。
“!=” 不等于:只判断内容是否不相同,不判断数据类型。
“!==” 不等于:不仅判断内容是否不相同,还判断数据类型是否相同。
五、代码调试(重点)和三元运算符
代码调试(重点)
先让程序运行一遍
快捷键f12
添加监控变量
1:鼠标放到变量上可以看到值
2:选中变量,右键add to watch
3:点击加号,添加监控变量。
三元运算符
语法 表达式?如果表达式的值为true,执行表达式后边的代码,如果值为false,执行冒号后边的值。
三元运算符可以理解为if..else的另外一种写法。
JavaScript学习第一篇的更多相关文章
- LINQ to XML LINQ学习第一篇
LINQ to XML LINQ学习第一篇 1.LINQ to XML类 以下的代码演示了如何使用LINQ to XML来快速创建一个xml: public static void CreateDoc ...
- 从.Net到Java学习第一篇——开篇
以前我常说,公司用什么技术我就学什么.可是对于java,我曾经一度以为“学java是不可能的,这辈子不可能学java的.”结果,一遇到公司转java,我就不得不跑路了,于是乎,回头一看N家公司交过社保 ...
- Java并发包下锁学习第一篇:介绍及学习安排
Java并发包下锁学习第一篇:介绍及学习安排 在Java并发编程中,实现锁的方式有两种,分别是:可以使用同步锁(synchronized关键字的锁),还有lock接口下的锁.从今天起,凯哥将带领大家一 ...
- JVM学习第一篇思考:一个Java代码是怎么运行起来的-上篇
JVM学习第一篇思考:一个Java代码是怎么运行起来的-上篇 作为一个使用Java语言开发的程序员,我们都知道,要想运行Java程序至少需要安装JRE(安装JDK也没问题).我们也知道我们Java程序 ...
- Golang学习-第一篇 Golang的简单介绍及Windows环境下安装、部署
序言 这是本人博客园第一篇文章,写的不到位之处,希望各位看客们谅解. 本人一直从事.NET的开发工作,最近在学习Golang,所以想着之前学习的过程中都没怎么好好的将学习过程记录下来.深感惋惜! 现在 ...
- javascript学习第一天
从大学第一次接触到JavaScript,到现在一直是个软肋,之前也是学习过一遍,但是缺乏系统学习,基础不牢,那么今天开始从基础部分学起来,今天是第一天,每天至少要保证效率,也要保证学习质量. 恩,要按 ...
- Python学习第一篇
好久没有来博客园了,今天开始写自己学习Python和Hadoop的学习笔记吧.今天写第一篇,Python学习,其他的环境部署都不说了,可以参考其他的博客. 今天根据MachineLearning里面的 ...
- Android基础学习第一篇—Project目录结构
写在前面的话: 1. 最近在自学Android,也是边看书边写一些Demo,由于知识点越来越多,脑子越来越记不清楚,所以打算写成读书笔记,供以后查看,也算是把自己学到所理解的东西写出来,献丑,如有不对 ...
- ImageJ 学习第一篇
ImageJ是世界上最快的纯Java的图像处理程序.它可以过滤一个2048x2048的图像在0.1秒内(*).这是每秒40万像素!ImageJ的扩展通过使用内置的文本编辑器和Java编译器的Image ...
随机推荐
- 阶段1 语言基础+高级_1-3-Java语言高级_05-异常与多线程_第4节 等待唤醒机制_1_线程状态概述
Thread中有个嵌套类 它描述了线程的状态 线程状态的图 Object类中的Wait方法和notify方法
- js面向对象程序设计之继承
在面向对象语言中继承分成两种:接口继承和实现继承.解释一下,接口继承只继承方法的签名,而实现继承则是继承实际的方法.但是ECMAScript中的函数没有签名所以无法进行接口继承,只能是实现实现继承.而 ...
- <编译原理 - 函数绘图语言解释器(3)解释器 - python>
<编译原理 - 函数绘图语言解释器(3)解释器 - python> <编译原理 - 函数绘图语言解释器(2)词法分析器 - python> <编译原理 - 函数绘图语言解 ...
- [BZOJ2829] 信用卡 (凸包)
[BZOJ2829] 信用卡 (凸包) 题面 信用卡是一个矩形,唯四个角做了圆滑处理,使他们都是与矩形两边相切的1/4园,如下图所示,现在平面上有一些规格相同的信用卡,试求其凸包的周长.注意凸包未必是 ...
- Python2中range 和xrange的区别??
两者用法相同,不同的是range返回的结果是一个列表,而xrange的结果是一个生成器, 前者是直接开辟一块内存空间来保存列表,后者是边循环边使用,只有使用时才会开辟内存空间, 所以当列表很长时,使用 ...
- Keyboarding (bfs+预处理+判重优化)
# #10030. 「一本通 1.4 练习 2」Keyboarding [题目描述] 给定一个 $r$ 行 $c$ 列的在电视上的"虚拟键盘",通过「上,下,左,右,选择」共 $5 ...
- P5445 [APIO2019]路灯
传送门· 对于询问 $(a,b)$ ,感觉一维很不好维护,考虑把询问看成平面上的一个点,坐标为 $(a,b)$ 每个坐标 $(x,y)$ 的值表示到当前 $x$ 和 $y$ 联通的时间和 考虑一个修改 ...
- 【数据库运维】数据库(server)的时区设置及世界主要地区的时区
[时区设置不当会有什么问题] 当进行海外项目运维的时候,常常会遇到时区设置的问题.假设时区设置不当 或者 同样项目的server之间的时区不一致,都会有导致项目的数据异常的风险. 假设数据表的字段使用 ...
- usleep和sleep
usleep 和 sleep 都是用于将进程挂起, 所不同的是前者在微秒级别, 后者在秒级别.
- Vue 实现文件的上传
要把文件上传的web,需要分几步? 答:三步 第一步:创建一个上传文件的标签 <input type="file" id="fileExport" @ch ...