JavaScript

1. JavaScript基本使用

1.1 常用输入输出语句

1.1.1 prompt() 用于在浏览器中弹出输入框,用户可以输入内容  
1.1.2 alert() 用于在浏览器中弹出警告框    
1.1.3 document.write() 用于在网页中输出内容     
1.1.4 console.log() 用于在控制台中输出信息

1.2 输出语句

1.2.1 用于在浏览器中弹出警告框
alert('未满18岁禁止访问!')
1.2.2 用于在控制台输出信息
console.log("111");
1.2.3 用于在网页中输出内容
document.write("三月请对我好一点")

1.3 输入语句

1.3.1 在网页中弹出一个输入框
 prompt("请输入姓名")
1.3.2  在网页中弹出一个确认框
confirm("你真的满18岁了嘛?")

1.4 JavaScript 代码引入方式

1.4.1行内式

行内式是将JavaScript代码作为HTML标签的属性值使用。例如,在单击超链接“test”时,弹出一个警告框提示“Hello”,示例代码如下。

<a href="javascript:alert('Hello');">test</a>

需要说明的是,行内式只有在临时测试或者特殊情况下使用,一般情况下不推荐使用行内式,因为行内式有如下缺点。
(1)行内式可读性较差,尤其是在HTML文件中编写大量JavaScript 代码时,不方便阅读。
(2)行内式在遇到多层引号嵌套的情况时,    引号非常容易混淆,导致代码出错。

1.4.2 嵌入式

嵌入式(或称内嵌式)使用<script>标签包裹JavaScript代码,直接编写到HTML文件中,通常将其放到<head>标签或<body>标签中。<script>标签É的 type属性用于告知浏览器脚本类型,HTML5中该属性的默认值为“text/javascript”,因此在使用HTML5时可以省略 type属性。嵌入式的示例代码如下。

<script>window.alert("内部样式")</script>
1.4.3 外链式

外链式(或称外部式)是将JavaScript代码写在一个单独的文件中,一般使用“js”作为文件的扩展名,在 HTML页面中使用<script>标签的src属性引入“..js”文件。外链式适合JavaScript代码量较多的情况。
在HTML页面中引入“.js”文件,示例代码如下。

<script src="test.js"></script>

2. JavaScript 基本语法

2.1 变量

2.1.1 变量的声明与赋值
1.先声明后赋值

JavaScript中变量通常使用var关键字声明。变变量声明完成后,默认值会被设定为undefined,表示未定义,如果需要使用变量保存具体的值就需要为其赋值    变量先声明后赋值的示例代码如下。

1 // 声明变量
2 var myName;	    // 声明一个名称为myName的变量	
3 var age, sex;    	// 同时声明2个变量	
4 //为变量赋值
5 myName ='小明';	//为变量赋值'小明'	
6 age = 18;	        //为变量赋值18	
7 sex ='男';	    //为变量赋值'男'

变量赋值以后,如何查看变量的值呢?可以用console.log()方法将变量的值输出到控制台。例如,在上述示例代码的基础上继续编写如下代码,输出变量的值。

console.log(myName);	//输出变量myNaame的值	
console.log(age);	    // 输出变量age的值	
console.log(sex);	    //输出变量 sex的值
2.声明的同时并赋值

在声明变量的同时为变量赋值,这个过程又称为定义变量或初始化变量,示例代码如下。

var myName ='小明';	    // 声明变量,同时赋值为'小明'	
2.1.2 let声明变量

let是ES6新引入的关键字,用来替代var关键字。(ES6指2015年推出的ECMAScript语法。)

使用var声明的变量,可以多次赋值,但是其结果只与最后一次赋值有关。

var boyFriend ="魏大勋";
var boyFriend ="张杰";
var boyFriend ="白敬亭"
console.log(boyFriend);

let不允许在一个代码块里有变量和他取一样的名字,但是允许修改同一个变量值。一个花括号{}就是一个代码块

let girlFriend ="章若楠"
girlFriend ="鞠婧祎"
console.log(girlFriend);
{let girlFriend ="xxx"}
2.1.3 const声明变量

let和var声明的变量可以改变。const声明的变量不能改变,即常量

 const a = 3.14
 console.log(a);
2.1.4 变量声明的区别
(1)初始化要求不同

使用var和let声明变量时可以先不初始化,而使用const声明变量时必须初始化。 

(2)重复声明不同

使用var和let声明的变量可以多次被修改,其值只与最近一次赋值一致,而使用const声明的变量,在整个运行过程中不能修改初值 

(3)对块级作用域的支持不同。

使用一对花括号括起来的代码称为一个代码块所谓块级作用域,就是指变量起作用的范围是当前代码块,离开当前代码块,变量就失效了。使用var声明的变量支持全局作用域,使用let和const声明的变量支持块级作用域。

2.2 数据类型分类

2.2.1 数据类型分类

1.简单数据类型存储在栈内存中。

2.复杂数据类型的内容存储在堆内存中,地址储存在栈内存中。

2.2.2 基本数据类型
1.Boolean-布尔型

JavaScript 中的 true和 false两个值属于布尔型数据,用于逻辑判断。需要注意的是,JavaScript中严格区分大小写,因此true 和 false只有全部为小写时才表示布尔型数据。下面演示声明两个变量,分别赋值为 true和 false,示例代码如下。

1 var flagl = true;
2 var flag2 = false;
2.number-数字型

JavaScript 中的数字可以分为整数和浮)点数(可以表示小数),它们同属于数字型,在数字前面还可以添加“-”符号表示负数,添加“+”符号表示示正数(通常情况下省略“+”)。

let age = 18;
let date = "0306";
console.log(age);
// cons1.log(date);

console.log(Number.MAX_VALUE);//最大值
console.log(Number.MAX_VALUE*2);//Infinity(无穷大)

var a =3-"b"
console.log(a);//NaN(Not a Number) NAN也属于数字类型

isNaN判断是否是一个非数字;如果是数字类型则为false; 如果是非数字类型则为true;

 console.log(isNaN(a));//true
 console.log(isNaN(111));//false
 console.log(isNaN("abc"));//true
 console.log(isNaN(Infinity));//false
 console.log(isNaN("false"));//true
3.string-字符串

字符串是指计算机中用于表示文本的一系列字符,在JavaScript中使用单引号(")或双引号(")来标注字符串,示例代码如下。

1 //单引号字符串
2 var num ='';                 //表示空字符串
3	var slogan ='知识';        // 表示字符串'知识'
4 //双引号字符串
5 var total = "";	          // 表示空字符串	
6 var str = "知识就是力量";    // 表示字符串"知识就是力量"
4.null-空型

表示变量未指向任何对象,示例代码如下。

var a=null;
console.log(a);	    //输出结果:null	
5.undefined-未定义型

未定义型只有一个特殊的值undefined,    表示声明的变量还未被赋值。未定义型的示例代码如下。

var a;
console.log(a);	    //输出结果:	undefined
2.2.3 数据类型检测

JavaScript 提供了 typeof操作符,当不确定一个变量或值是什么类型的数据时,可以人利用 typeof 操作符进行数据类型检测。typeof操作符以字符串形式返回检测结果,语法格式如下。

//语法格式1
typeof 需要进行数据类型检测的数据
//语法格式2
typeof(需要进行数据类型检测的数据)

console.log(typeof("123"));//string
console.log(typeof(false));//boolean
console.log(typeof(NaN));//number
console.log(typeof(Infinity));//number
console.log(typeof("true"));//string
console.log(typeof(undefined));//undefined
console.log(typeof(null));//object

console.log(typeof('aaa'*2));//number
console.log("aaa"*2);//NaN

console.log(2-"true");//NaN
console.log(typeof(2-"true"))//number
2.2.4数据类型转换
1.将数据转换为布尔型数据
var a = Boolean("a")
console.log(a);//true
console.log(Boolean(123));//true
console.log(Boolean(""));//false
console.log(Boolean(" "));//true
console.log(Boolean(0));//false
console.log(Boolean(NaN));//false
console.log(Boolean(nudefined));//false
console.log(Boolean(null));//false
2.将数据转化为数字型数据
//Number()用于将数据转化为数字型数据
console.log(Number(123));//123
console.log(Number("123"));//123
console.log(Number(""))//0
console.log(Number(" "));//0
console.log(Number(null));//0
console.log(Number(nudefined));//NaN
console.log(Number(false));//0
console.log(Number(true));//1
console.log(Number("true"));//NaN
console.log(Number("123.1"));//123.1
console.log(Number("123.a"))//NaN
3.将数据转化为字符串类型
 // 使用String()或toString()进行转换
 let num = 1;
 console.log(num);//数字类型的1
 let num2 = String(num);
 console.log(num2);//1字符串类型1

2.3 运算符

2.3.1算术运算符

算术运算符用于对两个变量或数字进行算术运算,与数学中的加、减、乘、除运算类似。下面列举一些 JavaScript 中常用的算术运算符

let a = 10;
let b = 20;
//加法运算
console.log(a+b);//30
//减法运算
let c =b - a;
console.log(c)//10
// 乘法运算
console.log(c*b)//200
//除法运算
b=b/a
console.log(b)//2
//取模运算 取余数
console.log(26%5);//1
//幂运算
console.log(2 ** 10);//1024
//2*2*2*2*2*2*2*2*2*2
//自增运算
m = 5;
n = ++m;
console.log(m);//6
console.log(n);//6
m = 5;
n = m ++;
console.log(m);//6
console.log(n);//5
//自减运算
q = 2;
p = q--;
console.log(q);//1
console.log(p);//1
var d  =10;s =20;
console.log()
2.3.2 字符串运算符&隐式转换
console.log(1 + 1);//2
console.log(1 + null);//1
console.log(1 + true);//2
console.log(1 +false);//1

console.log("12"-0);//12
console.log(undefined * null);//NaN
console.log(Infinity ++);//Infinity

console.log(1 + "1");//11
console.log(1 + "null");//1null
console.log(null + "undefined");//nullundegined

var name = "张三";
var age = 18;
console.log(name+"的年龄是:"+age)

 隐式转换:当两个数据类型不同时,JS会按照既定的规则进行运算字符串

2.3.3 赋值运算符

赋值运算符用于将运算符右边的值赋给左三边的变量。在开发中,初始化一个变量时,就使用到了最基本的赋值运算符“=”,除了“=”赋值运算符,    JavaScript中还有一些常用的赋值运算符

 //赋值
 let a = 10;
 let b = 20;
 let c = a + b;

 //加等于/加并赋值 +=
 a +=b;
 //a = a+ b;
 console.log(a);//30
 console.log(b);//20

 a -=b;
 console.log(a);//10
 console.log(b);//20
 //a = a-b;
2.3.4 比较运算符

Javal Script 中的比较运算符用于对两个数据进行比较,比较结果是布尔值true 或false。需要注意的是,运算符“==”和“!=”在比较不同类型的数据时,首先会自动将要进行比较的数据转换为相同的数据类型,然后进行比较,而运算符“一”和“!=”在比较不同类型的数据时,不会进行数据类型的转换。接下来通过代码演示比较运算符的使用。

 // != 不等于
 console.log(4!=5);//true
 console.log(4!=4);//false
// ==等于
console.log(4 == "4");//true
// ===全等于
console.log(4 === "4");//false
2.3.5 逻辑运算符

1. && 逻辑与运算符 (一假则假)

2.|| 逻辑或运算符 (一真则真)

3. ! 逻辑非运算符 (true为false | false为true)

 console.log(true && true);//true
 console.log(false && true);//false
 console.log(true && false);//false
 console.log(false && false);//false

 console.log(3>2 && 2>1);//true
 console.log(3<2 && 2>1);//false
 console.log(3<2 && 2<1);//false

 console.log(true || true);//true
 console.log(true || false);//true
 console.log(false || true);//true
 console.log(false || false);//false

 console.log(0 || 4<3);//false

 console.log(!true);//false
 console.log(!(2>1));//false
 console.log(!(2<1));//true
2.3.6 三元运算符

1.条件表达式 ? 表达式1 :表达式2

2.如果条件表达式的值为true,则返回表达式1的执行结果。

 3.如果条件表达式的值为false,则返回表达式2的执行结果。

var age = prompt("请输入你的年龄")
console.log(age);
var res = age >=18 ? "你已经是一名优秀的成年人啦" : "你还是个宝宝"
document.write(res)
2.3.7 运算符优先级

小括号 > 一元运算符 > 逻辑运算符(逻辑与 > 逻辑或) > 赋值运算符

let a = 3 > 5 && 2 < 7 && 3 == 4
console.log(a);//false

let b = 3 > 5 || 2 > 7 && 3 ==="3"
console.log(b);//false

let c = 2 == "2"
console.log(c);//true

let d = !c && (b || a)
console.log(d);//false

  • 8
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

秋绪祈花落

你的鼓励将是我创作的最大动力

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

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

打赏作者

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

抵扣说明:

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

余额充值