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 ...
随机推荐
- .Net Core 使用 System.Drawing.Common 在CentOS下报错
.Net Core控制台项目,添加了 System.Drawing.Common 引用 #locate libdl /usr/lib64/libdl-2.17.so /usr/lib64/libdl. ...
- #1146 - Table 'phpmyadmin.pma__table_uiprefs' doesn't exist
在使用phpmyadmin时,数据库总报错#1146 - Table ‘phpmyadmin.pma_table_uiprefs' doesn't exist 修改phpmyadmin的配置文件con ...
- 【ABAP系列】SAP F4搜索帮助的高级版
公众号:SAP Technical 本文作者:matinal 原文出处:http://www.cnblogs.com/SAPmatinal/ 原文链接:[ABAP系列]SAP F4搜索帮助的高级版 ...
- linux下安装nginx(nginx(nginx-1.8.0.tar.gz),openssl(openssl-fips-2.0.9.tar.gz) ,zlib(zlib-1.2.11.tar.gz),pcre(pcre-8.39.tar.gz))
:要按顺序安装: 1:先检查是否安装 gcc ,没有先安装:通过yum install gcc-c++完成安 2:openssl : tar -zxf openssl-fips-2.0.9.tar. ...
- MyBatis Generator 生成的example 使用 and or 简单混合查询
MyBatis Generator 生成的example 使用 and or 简单混合查询 参考博客:https://www.cnblogs.com/kangping/p/6001519.html 简 ...
- PyTorch笔记之 squeeze() 和 unsqueeze()
1.squeeze() 函数 squeeze() 用来去掉向量的一个维度,只有维度为 1 的那一维才能去掉 example: 初始化1个向量shape为(1,2,3)的向量 import torch ...
- g50打开无线设置 fn+f7
- docker添加加速器
通过 Docker 官方镜像加速,中国区用户能够快速访问最流行的 Docker 镜像.该镜像托管于中国大陆,本地用户现在将会享受到更快的下载速度和更强的稳定性,从而能够更敏捷地开发和交付 Docker ...
- [2019杭电多校第七场][hdu6646]A + B = C(hash)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=6646 题意为求a*10x+b*10y=c*10z满足公式的任意一组解x,y,z. 因为c有可能会由a+ ...
- JVM调优 dump文件怎么生成和分析
1.获取JVM的dump文件的两种方式 1. JVM启动时增加两个参数: #出现 OOME 时生成堆 dump: -XX:+HeapDumpOnOutOfMemoryError #生成堆文件地址: - ...