javascript学习-1

JavaScript入门介绍:

js是弱变量类型的语言,变量只需要var进行声明即可。

var a;

浏览器工作原理:
在这里插入图片描述
1、User Interface 用户界面,我们所看到的浏览器

2、Browser engine 浏览器引擎,用来查询和操作渲染引擎

3、Rendering engine 用来显示请求的内容,负责解析HTML、CSS

4、Networking 网络,负责发送网络请求

5、JavaScript Interpreter(解析者) JavaScript解析器,负责执行JavaScript的代码

6、UI Backend UI后端,用来绘制类似组合框和弹出窗口

7、Data Persistence(持久化) 数据持久化,数据存储 cookie、HTML5中的sessionStorage

js的使用方式

1、内嵌

<head>
		<meta charset="UTF-8">
		<title></title>
		<!--内嵌-->
		<script type="text/javascript">
			
		</script>
	</head>
	<body>
		<!--js的使用方式:内嵌-->
		<script type="text/javascript">
			
		</script>
	</body>

js可以内嵌在head标签中,也可以内嵌在body中,如上例所示,执行顺序为从上至下。

2、外链式

<script src="js/index.js" type="text/javascript"></script>

src填入js文件的地址,即可引入。

3、控制台

利用控制台使用主要是用于调试。

可以在控制台console中书写js代码,即可展示出相关效果;但是此代码不会同步在原代码中。

可以在源代码中讲某些内容输出在控制台中,语句为console.log()

alert语句
<script type="text/javascript">
	alert("hello world")
</script>

alert语句是用来弹出提示弹框,样式为浏览器自带样式,不可修改。

注:尽量不用使用alert(),样式丑,不同的浏览器自带弹框样式不一致,且会阻塞内容的渲染。

语法规则

1、js对换行、缩进、空格是不敏感的。每一条语句以分号结尾。

​ 备注:一般情况上是要加分号的,但是当不加分号时,也是可以的,因为在预编译的情况下,系统为自动加上分号,不过这样就会消耗一些资源。

2、要注意的是所有的符号均是英文模式。

3、严格区分大小写。

注释:
html注释:<!--html注释-->
css注释:/*  css注释 */
js注释:
	单行注释://
	多行注释:/*  css注释 */

在常用的编辑器中,单行注释的快捷键是ctrl+/,多行注释的快捷键是ctrl+shift+/

输出

1、弹框:

alert("尽量少用原生的弹框")

2、控制台输出

console.log()
console.error("错误")
console.warn("警告")

3、弹框,带有确定和取消按钮的弹框(尽量少用)

var a = confirm("今天的任务完成了嘛?")
console.log(b)   //输出为true或false

4、弹框,带输入框的弹框(尽量少用)

var b = prompt("没有完成任务,你配吃火锅嘛?")
document.write(b);

在这里插入图片描述
实例:加法运算器:谈两个弹框,将第一个弹框的值与第二个弹框的值相加,将结果输出到页面。

<script type="text/javascript">
			var a = prompt("请输入第一个加数:");
			var b = prompt("请输入第二个加数:");
			var c = Number(a)+Number(b);	
			document.write(c);
			//当输入为数字类型时,正常输出结果;当输入不是数字类型时,输出为NaN
</script>
变量

变量:可以用来保存字面量,且变量的值可以任意改变。

var a = 100;  //变量赋值式声明
var b;      //变量简单声明  在变量未赋值的情况下,默认赋值为underfined
			//js在预编译时,会将变量声明提前,但是不会将赋值提前,所以赋值仍然是按照从上至下进行操作。

变量的定义:var 用来定义变量,即为关键词。

​ 关键词是指具有特殊功能或特定含义的词语,关键词后面一定会有空格隔开。

​ 如果没有加var,会在全局里创建一个变量,不会报错。但是尽量都加上。

变量的赋值:等号

变量名:可以以$、下划线、字母作为开头,不能以数字作为开头。

变量的命名规范:

​ 1.建议用驼峰命名规则:getElementById/matherAndFather/aaaOrBbbAndCcc
​ 2.变量命名必须以字母或是下标符号”_”或者”$”为开头。
​ 3.变量名长度不能超过255个字符。
​ 4.变量名中不允许使用空格,首个字不能为数字。
​ 5.不用使用脚本语言中保留的关键字保留字作为变量名。以下为常见的保留字:

abstract、boolean、byte、char、class、const、debugger、double、enum、export、extends、final、float、goto
implements、import、int、interface、long、native、package、private、protected、public、short、static、super、synchronized、throws、transient、volatile

​ 6.变量名区分大小写(javascript是区分大小写的语言)。
​ 7.汉语可以作为变量名。但是不建议使用,因为 low。

标识符

标识符:所有由我们自主命名的名称都可称为标识符。

标识符的命名规则和变量的命名规则是一样的。见上~

变量声明的提升

在变量未赋值的情况下,默认赋值为underfined
js在预编译时,会将变量声明提前,但是不会将赋值提前,所以赋值仍然是按照从上至下进行操作。

<script type="text/javascript">
			var a = "123";
			var b =234
			var d;
			console.log(a);
			console.log(b);
			console.log(c);
			var c = 45;
			console.log(d);
			d = 45;
</script>
变量的数据类型
js中共有6种数据类型:

基本数据类型(值类型 5种):string类型、number数值、boolean布尔值、null空值、underfined未定义

引用数据类型(引用类型 1种):object对象 (重要,会有面试题)

注:内置对象function、Array、Date、RegExp、Error等都是属于Object类型。也就是说,除了那五种基本数据类型之外,其他的,都称之为 Object类型。

数值类型之间的区别:

​ 基本数据类型:参数赋值的时候,传的是数值。

​ 引用数据类型:参数赋值的时候,传的是地址。

获取变量的数据类型的方式:typeof运算符

typeof  变量
  • typeof 数值的返回结果:number
  • typeof 字符串的返回结果:string
  • typeof 布尔型的返回结果:boolean
  • typeof undefined的返回结果:undefined
  • typeof null的返回结果:object (!!!注意

在JavaScript中,只要是数,就是 number 数值型的。无论整浮、浮点数(即小数)、无论大小、无论正负,都是 number 类型的。

String字符串

1、js种,字符串需要用单引号或双引号引起来。

2、引号不能嵌套:双引号里不能再放双引号,单引号里不能再放单引号。但是单引号里可以嵌套双引号。

3、转义字符:在字符串中我们可以使用\作为转义字符,当表示一些特殊符号时可以使用\进行转义。

  • \" 表示 "
  • \' 表示 '
  • \n 表示换行
  • \r 表示回车
  • \t 表示制表符
  • \b 表示空格
  • \\ 表示\

4、将其他类型转换为字符串的三种方式

  • 拼串:任意字符的数据类型+字符串都会转换成字符串
  • toString()
  • String():eg :string(123)
Number数值型

js中所有的数值都是Number类型,包括整数和浮点数。

1、数值的范围:

​ 最大值:Number.MAX_VALUE,这个值为: 1.7976931348623157e+308

​ 最小值:Number.MIN_VALUE,这个值为: 5e-324

若数值类型的变量超过了最大值,则返回Infinity;超过了最小值,则返回-Infinity

注:typeof Infinity的返回结果是number。

2、NaN和isNaN函数:

1)NaN:表示Not a Number,非数值类型。

注:typeof NaN的返回结果是number。

​ Undefined和任何数值计算的结果为NaN。NaN 与任何值都不相等,包括 NaN 本身。

2)isNaN() : 是否是非数值。输出为true或false。

​ 任何不能被转换为数值的值,都会让这个函数返回 true。能转换为数值的值,则返回false。

浮点数的运算:

​ JS中,整数的运算基本可以保证精确;但是小数的运算,可能会得到一个不精确的结果。所以,千万不要使用JS进行对精确度要求比较高的运算。

原因:所有的运算都要转换成二进制去计算,然而,二进制是无法精确表示1/10的。因此存在小数的计算不精确的问题。

连字符和加号的区别:

​ 如果加号两边都是数值,此时是加号。否则,就是连字符(用来连接字符串)。

隐式转换:

-*/、`%``这几个符号会自动进行隐式转换。将其他类型转换为数值类型进行计算。

加号。数值+字符串 是将数值类型转换为字符串类型。

注:尽量不使用隐式转换,最好自己完成转换,利于程序的可读性以及后期的维护。

Boolean布尔值

包括true和false。 不需要加引号。

Null和underfined
null:空值

用来表示一个为空的对象(例如:var a = null)。注意,专门用来表示空对象

注:使用typeof返回null的数据类型时,返回为object。

underfined:未定义

声明了一个变量,但是没有赋值,则其值为underfined

注:使用typeof返回underfined的数据类型时,返回为underfined。

  • 任何数据类型和undefined运算都是NaN;
  • 任何值和null运算,null可看做0运算。

null==underfined 结果为true (说明其通过类型转换后,相等)

null === underfined 结果为false (说明其不通过类型转换时,不相等)

变量值的传递:

赋值:=

eg:a = b 把b的值赋给a

将等号右边的值,赋给左边的变量;等号右边的变量,值不变。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值