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 ...
随机推荐
- 深入理解webpack(二) webpack-dev-server基本配置
摘要:webpack-dev-server是一个使用了express的Http服务器,它的作用主要是为了监听资源文件的改变,该http服务器和client使用了websocket通信协议,只要资源文 ...
- VUE 全局监听sessionStorage变化
在做项目的时候,可能需要在其他模块获取推送的信息或者变量,但是数据量或者说数目少,而且项目中也没有引用VUEX,那么可以下手的方法之一也就是sessionStorage类的浏览器存储了. 首先在全局的 ...
- 应用安全 - Web安全 - 上传漏洞 - 攻防
客户端绕过 抓包改包(先上传一个gif类型的木马,然后通过burp将其改为asp/php/jsp后缀名即可) 服务端校验 content-type字段校验 文件头检验(常见文件头: () .JPEG; ...
- 前端005/React生命周期
ES6中React生命周期 一.React生命周期 React生命周期主要包括三个阶段:初始化阶段.运行中阶段和销毁阶段. 在React不同的生命周期里,会依次触发不同的钩子函数. 二.React的生 ...
- Redux 中间件与函数式编程
为什么需要中间件 接触过 Express 的同学对"中间件"这个名词应该并不陌生.在 Express 中,中间件就是一些用于定制对特定请求的处理过程的函数.作为中间件的函数是相互独 ...
- 在使用spring中的ContextConfiguration、test注解时出现的错误
错误: 在使用测试注解时出现ContextConfiguration注解和test注解无法正常导包使用的编译异常,如图: 解决办法: 将pom.xml文件中以下依赖管理 中的<scope> ...
- SpringBoot使用webservice
Pom.xml <parent> <groupId>org.springframework.boot</groupId> <artifactId>spr ...
- Hadoop运行模式:本地模式、伪分布模式、完全分布模式
1.本地模式:默认模式 - 不对配置文件进行修改. - 使用本地文件系统,而不是分布式文件系统. - Hadoop不会启动NameNode.DataNode.ResourceManager.NodeM ...
- ES6新数据类型Symbol
Symbol 需计算字面量属性时使用 const benz = Symbol('benz'); const car = { [benz]: 'benz car' }; const info = Sym ...
- python RE表达式规则剩余规则
前面我学习了 ’.‘ '^' '$' '*' '+' '?' 基本针对单个字符的,学习python 表达式规则剩余规则. 1,{m} 匹配前一个字符m次 2,{n,.m} 匹配前一个字符n到m次 3 ...