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语言高级_06-File类与IO流_09 序列化流_5_InvalidClassException异常_原理
序列化一遍 反序列化再来一遍 age的修饰符改为public 直接反序列化就会抛出异常 序列化的时候会给Person.class添加序列号,serialVersionUID,.反序列化需要对比这个se ...
- uni-app-小程序中组件不支持id选择器等
这个问题刚开始遇到的时候有点搞笑啰,正常情况下,id选择器不是最正常的吗?搞锤子哦. 接着我就找度娘了 ,官网给出的解释是:https://developers.weixin.qq.com/mini ...
- vue组件父与子通信-登录窗口
一.组件间通信(父组件 --> 子组件)步骤:①父组件在调用子组件 传值 <child-component myValue="123"> </chi ...
- 【Unity Shader】---入门知识点
着色器声明(“名字”)Shader "ShaderDiffuseExample" { 一.属性定义(作用:外部传入参数) 属性定义语法:PropName("Display ...
- 配置Trunk接口
实验内容 本实验模拟某公司网络场景.公司规模较大,员工200余名,内部网络是-一个大的局域网.公司放置了多台接入交换机(如S1和S2)负责员工的网络接入.接入交换机之间通过汇聚交换机S3相连.公司通过 ...
- win10系统Docker和VMware WorkStation共存,远程工具连接Docker
摘要:win10安装docker进行学习的两种途径: Docker for Windows Installer.exe(地址https://download.docker.com/win/stable ...
- SpringBoot(七) -- 嵌入式Servlet容器
一.嵌入式Servlet容器 在传统的开发中,我们在完成开发后需要将项目打成war包,在外部配置好TomCat容器,而这个TomCat就是Servlet容器.在使用SpringBoot开发时,我们无需 ...
- C#设计模式:职责链模式(Chain of Responsibility)
一,什么是职责链模式(Chain of Responsibility) 职责链模式是一种行为模式,为解除请求的发送者和接收者之间的耦合,而使多个对象都有机会处理这个请求.将这些对象连接成一条链,并沿着 ...
- SDK manager打不开解决办法
在下载管理android SDK过程中,有时会出现SDK manager.exe打不开的情况,网上也罗列了各种解决办法,其中地址为http://blog.csdn.net/pipisorry/arti ...
- ASE Alpha Sprint - backend scrum 5
本次scrum于2019.11.10再sky garden进行,持续30分钟. 参与人: Zhikai Chen, Jia Ning, Jiyan He 请假: Xin Kang, Lihao Ran ...