✿✿✿JavaScript基本语法一

目  录

1.js的发展史(闲聊版)

2.浏览器分成两部分:渲染引擎和 JS 引擎

3.js与html的关系以及结合方式

(1)js与html的关系

(2)js与html结合方式

4.JavaScript注释

5.js中的基本数据类型

6.js中的变量

7.运算符(自动类型转换)

(1)算数运算符:++    --     +(正)    -(负)    +   -   *   /   % 

(2)比较运算符:>  <  >=  <=  !=  ==   ===(全等于)

(3)逻辑运算符:&&   ||   ! 

8.JavaScript输入输出语句

9.九九乘法表(js版本)


1.js的发展史(闲聊版)

Long Long Ago~~

        互联网刚刚兴起,家人们就爱上了上网冲浪,查看各种论坛社区什么的(不要问我为什么不打王者荣耀)。当时的  网络迷之卡顿,当咱们需要登录或者注册什么东西的时候,就出现了让人很脑壳大的问题。一个表单例需要的填的内容很多,咱们挨个挨个填完了然后点击提交。等了亿会儿,哟呵~响应回来咱的邮箱格式不对,于是又挨个挨个从头填。填完发送,又等了亿会儿!哎呦喂~说咱用户名格式不对。就咱的小暴脾气,这谁受得了啊,等你老半天,完了你跟我说填的内容这里格式不对,那里格式有问题!作为一个用户身份,我是觉得这个  体验感极差

        那个时候就有人也跟我一样暴脾气呀,忍不了了!于是就开动小脑袋瓜子,想要在用户填的时候就验证(也就是  在客户端验证),而不是每次等填完之后发给后台验证,验证完再返回给客户端。当时最先有这个思想的便是  nombas公司,1992年定义了   C--语言,这可是最早的客户端脚本语言。专门用于表单验证,后来又更名为 scriptEarth。有了第一个吃螃蟹的人,就会有一堆人来吃了。

         于是  网景浏览器  也想使用这种脚本嘛!(作为00后,若不是接触到JS的发展史,这辈子可能都不知道还有一个网景浏览器!终究是孤陋寡闻了!泪奔~~~)....但是那个需要收费以及其他原因,便自己研究了新的脚本语言集成到浏览器中!从此网景浏览器大卖,直接封神了。后来   找到sun公司合作,共同开发出  JavaScript  。据说当时微软模仿JavaScript 定义了JScript。当时的脚本市场非常混乱。于是就有人提出要制定一个标准,后来找到  ECMA(欧洲计算机协会)来判定的标准,也就是ECMAScript规范,而该标准基本照搬了JavaScript。如今的  JavaScript = ECMAScript规范 + js自己特有的东西(BOM/DOM)。此外ECMAScript 6.0可简称ES6。

补充:

  • DOM文档对象模型(DocumentObject Model,简称DOM),是W3C组织推荐的处理可扩展标记语言的标准编程接口。通过 DOM 提供的接口可以对页面上的各种元素进行操作(大小、位置、颜色等)
  • BOM浏览器对象模型(Browser Object Model,简称BOM) 是指浏览器对象模型,它提供了独立于内容的、可以与浏览器窗口进行互动的对象结构。通过BOM可以操作浏览器窗口,比如弹出框、控制浏览器跳转、获取分辨率等。

2.浏览器分成两部分:渲染引擎和 JS 引擎

  • 渲染引擎:用来解析HTML与CSS,俗称内核,比如chrome浏览器的blink,老版本的wbkit。
  • JS引擎:也称为JS解释器。用来读取网页中的JavaScript代码,对其处理后运行,比如chrome浏览器的V8。

注:浏览器本身并不会执行JS代码,而是通过内置 JavaScript 引擎(解释器) 来执行 JS 代码 。JS 引擎执行代码时逐行解释每一句源码(转换为机器语言),然后由计算机去执行,所以JavaScript 语言归为脚本语言,会逐行解释执行。

3.js与html的关系以及结合方式

(1)js与html的关系

js是HTML里的一种编程语言(划重点:编程)。之前有看到网友这样来形容他们之间的关系的,我觉得很不错!如果把html程序比做房子的话那HTML是房子本身(基础),css是装饰品(外貌),js是家具(功能)。综合使用HTML,CSS与JS,会让网页更加美观,功能更加完善!

(2)js与html结合方式

  • 内部方式:定义<script>标签,标签体书写js代码。注意:<script>标签定义的位置,会影响执行顺序
  • 外部方式:   将JS代码单独写在一个js文件中,页面通过src属性导入外部js文件就可以。提高了js代码的复用性。
  • 内联方式:  就是将JS代码写在HTML标签上,基本不用

4.JavaScript注释

为了提高代码的可读性,JS与CSS一样,也提供了注释功能。JS中的注释跟JAVA中的注释一样,主要有两种,分别是单行注释和多行注释。

  • 单行注释:  // 用来注释单行文字(  快捷键   ctrl  +  /  )
  • 多行注释:  /*  用来注释多行文字  */( 默认快捷键  alt +  shift  + a ) 

5.js中的基本数据类型

  • number:        数字类型,包含整数和小数和 NaN(代表一个非数值 );默认值为0
  • string:              字符串( " ")和字符类型('');默认值为""
  • boolean:          true 和 false;默认值为false
  • null:               空类型,对象的占位符;默认值为null
  • undefined:     未定义,如果一个变量没有初始化值;默认为undefined

6.js中的变量

js是一门  弱类型语言:定义变量时,不需要规定其数据类型。并且所有熟记都  需要初始化赋值,否则默认为undefined。

var   是一个 JS关键字,用来声明变量( variable 变量的意思 )。使用该关键字声明变量后,计算机会自动为变量分配内存空间,不需要程序员管。

  • 使用 var定义变量  var i = "abc";(注意:var关键字如果不书写,该变量则为全局变量)。
  • 也可以同时声明多个变量。同时声明多个变量时,只需要写一个 var, 多个变量名之间使用英文逗号隔开。
var age = 18;                           //  声明一个 名称为age 的变量 
var age = 10,  name = 'zs', sex = 2;    //  声明多个 名称为age,name,sex的变量

ES6 提供了一个关键字   const   来定义常量,不可再重新赋值,如若重新赋值会报错。

ES6 提供了一个关键字   let,为了解决块级作用域中,变量问题,ES6就增加了这个关键字,用来声明块级作用域中的变量。

补充:

  • typeof  运算符,用来获取变量的数据类型。
  • isNaN  运算符,用来判断一个变量是否为非数字的类型,返回 true 或者 false。
  • 通过字符串的   length 属性  可以获取整个字符串的长度。
  • 字符串拼接:多个字符串之间可以使用 + 进行拼接,其拼接方式为字符串 + 任何类型 = 拼接之后的新字符串。(注:拼接前会把与字符串相加的任何类型转成字符串,再拼接成一个新的字符串 )

7.运算符(自动类型转换)

在js中,如果传递给运算符的值,和运算符想要接受的值的类型不匹配,则会自动类型转换 。

(1)算数运算符:++    --     +(正)    -(负)    +   -   *   /   % 

  • string类型,将字符串的字面值转为number;如果字面值不是数字,则转为NaN,空串转换成0。 
  • boolean类型,true转为1、false 为0。其他类型转为number。
  • 注意:NaN或undefined参与数学运算,结果都为NaN

(2)比较运算符:>  <  >=  <=  !=  ==   ===(全等于)

  • NaN参与的运算,结果都为fasle,除了(!=)。
  • 字符串比较小大:如果长度一致,则按照字典顺序比较 。长度不一致,那谁的长度长那就谁大。
  • 全等于与==的区别就是,比较时会先比较类型,如果类型不一致,则直接返回false。

(3)逻辑运算符:&&   ||   ! 

  • number:非0转为true,0和NaN转为false。
  • string: 除了空字符串(""),其他都是true。
  • null 和 undefined转为false。对象:所有对象都为true 。其他类型转boolean。

补:赋值运算符与三元运算符与java中的一样。

8.JavaScript输入输出语句

方法说明归属
alert(msg)浏览器弹出警示框浏览器
console.log(msg)浏览器控制台打印输出信息浏览器
prompt(info)浏览器弹出输入框,用户可以输入浏览器

 注意:alert() 主要用来显示消息给用户,console.log() 用来给程序员自己看运行时的消息。

9.九九乘法表(js版本)

js常用的语句语法与java中一样,例如for、if、swich等等。

<html>
	<head>
		<meta charset="utf-8">
		<title></title>
		<script>
			for (var i = 1; i <= 9; i++) {
				for (var j = 1; j <= i; j++) {
					document.write(j + "*" + i + "=" + (j * i) + "&nbsp;&nbsp;&nbsp;&nbsp;");
				}
				document.write("<br>");
			}
		</script>
	</head>
	<body>
	</body>
</html>


 

(小编也在努力学习更多哟!以后再慢慢分享的啦!)

希望对友友们有所帮助!!!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

naoguaziteng

谢谢友友的打赏!一起努力吧

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值