JavaScript

JavaScript

1.概述

JavaScript是一门基于对象的语言
是一门脚本语言,脚本可以直接执行
常用于浏览器端,在后端也有技术之心啊Node.js

2.JavaScript的特点

  1. 弱类型
  2. 基于对象
  3. 脚本语言
  4. 交互性
  5. 安全性
  6. 跨平台性

3.JavaScript不得不说的历史

和JAVA的关系:语法十分相似,但其实毫无关系。
1995年5月,Netscape,LiveScript
1995年12月,改名为JavaScript
1996年8月,微软,Jscript
1997-1999年,ECMA,ECMAScript,基于已有的JavaScript和Jscript,提出了标准的Script语法规则,JavaScript和Jscript都遵循这套标准。

4.引入js

第一种:在head标签里添加script子标签,在子标签里书写js代码
第二种:在head标签里添加script子标签,在子标签里添加src属性执行外部js文件

注意:
1.第二种引入方式即起始标签和结果标签之间没有内容也不能写成自闭标签
2.会把所有的js代码放到js解析器当中从上往下依次进行解析,如果发现没有写;就会自动补上,如果有,会不做任何操作

5.变量

js是一门弱类型语言,变量可以接受任意类型的赋值
局部变量
 带var的变量,只能在当前范围内生效
全局变量
 不带var的变量,只能在当前及以后的范围内生效

6.数据类型

基本数据类型和复杂数据类型

基本数据类型

Number数值型、String字符串型、Boolean布尔型、Undefined未定义型、Null空类型

Number数值型(js封装的对象)
属性:
MAX_VALUE/MIN_VALUE最大值和最小值
NaN表示非数字(自己和自己都不相等)
NEGATIVE_INFINITY/POSITIVE_INFINITY负无穷大和正无穷大

String字符串型(js封装的对象)
Boolean布尔型(js封装对象 — 只有两个值true和false)

位运算符
true|false1
true&false0
逻辑运算符
true&&falsefalse
true||falsetrue
truefalse

Undefined为定义类型(js封装的对象—只有一个值undefined)
未定义:1.声明没有初始化的变量,2.没有声明的变量
变量未定义表明变量不能做操作

Null空类型(js封装的对象—只有一个值null)
null值:在底层内存不指向任何内存区域
一般当做函数返回值使用

Undefined类型从Null类型延展而来,认为两个类型相同,但是两个类型的值不同

复杂数据类型

函数、数组、对象

函数

一段可执行的代码集合,这段代码本质就是一段可执行的字符串
注意:
1.通过函数名()形式来调用函数
2.当传入的参数个数小于参数列表的个数,没有赋值的变量是undefined,没有赋值的变量是undefined,当传入的参数个数大于参数列表的个数,多余的参数不做任何操作
arguments—接受传入的参数(通过遍历数组的形式来进行遍历)
3.arguments—接收所有传入的参数值(通过遍历数组的形式来进行遍历)
4.函数可以赋值给变量,直接书写变量名展示的就是函数内容,如果直接书写变量名()调用变量接收函数

函数的定义方式
1.第一种:普通函数定义
 function 函数名(){
  函数体;
 }
2.第二种:动态函数定义方式(最后一个字符串内容一定是函数体)
var m=new Function("参数1","参数2","return a+b");
3.第三种:直接量函数定义方式
 var m=function(参数列表){
   函数体;
 }

数组

由一对中括号和多个元素组成,多个元素之间通过逗号分隔
本质是字符串
注意
1.长度是任意的
2.可以存储任意类型的数据
定义方式
1.普通数组定义方式
var  数组名=new Array();
2.有出事长度的定义方式
var  数组名=new Array(长度);
3.有初始值得定义方式
var  数组名=new Array(初始值);
4.直接量的定义方式
var  数组名=[元素值];

对象

由大括号和多个键值对组成,多个键值对之间通过都好来隔开,键和值通过冒号来隔开
本质是一个字符串
分为内置对象和自定义对象
内置对象
String – 基本数据类型 字符串类型 的包装对象
Boolean – 基本数据类型 布尔类型 的包装对象
Nubmer – 基本数据类型 数值类型 的包装对象
Array – 数组类型 的包装对象
Function – 函数类型 的包装对象
Math – 数据对象,封装了很多数学常量和数学方法
Date – 日期时间对象,封装了很多和日期实现相关的方法
Global – 全局对象。js中有一些方法和属性经常使用,但归到哪个对象上都不合适,所以js中有一个Global对象整合了这些方法和属性。Global中定义的方法和属性特点是属于全局,可以直接使用。
思考:parseInt(“123abc123”);打印结果。
RegExp --正则对象,保存有关正则表达式模式匹配信息的固有全局对象

自定义对象

创建对象的方式
第一种:无参构造
function 名称(){
函数体
}
var 变量名=new 名称();
第二种:有参构造
function 名称(参数列表){
函数体
}
var 变量名=new 名称(参数);
第三种:直接量
var 变量名={键1:值1,键2:值2。。。};
function 名称(){
函数体
}
Json对象
JSON本质上就是一段字符串,能够保存较复杂关系的数据,具有良好的数据保存格式,又极为轻量,加之多种代码平台都支持对字符串的处理,所以我们可以使用JSON字符串进行数据的传入,甚至跨平台传输。
Json对象

var data={
name:"韦小宝",
age:30,
addr:"中国",
wife:[
{name:"双儿",age:18,job:"护卫"},
{name:"阿珂",age:19,job:"刺客"},
{name:"建宁",age:20,job:"公主"}
]
}

Json字符串

var data={
"name":"韦小宝",
"age":"30",
"addr":"中国",
"wife":[
{"name":"双儿","age":"18","job":"护卫"},
{"name":"阿珂","age":"19","job":"刺客"},
{"name":"建宁","age":"20","job":"公主"}
]
};

JSON本质上就是一段字符串

7.js语法–数据类型自动转换

a.在js中存在数据类型自动转换的问题。以下是一张参考表格。
数字:
可以在需要时转换为对应的字符串形式。0会转换为false,其他数字会转换为true.在需要对象时可以自动转换为Number对象。
字符串:
可以在需要时转换为对应的数值,需要注意当数值和字符串进行加法运算时,会处理为字符串的拼接,所以需要通过parseInt或parseFloat将字符串强制转换为数值类型参与运算。非空字符串转换为true,空字符串转换为false。需要对象时自动转换位String对象
布尔类型
true转换为1,false转换为0.转换为字符串的"true"和"false".转换为Boolean对象
对象类型
如果为null则转成字符串"null",如果为null转换为false

8.js语法–运算符

+1.加法运算。2.拼接运算
-1.减法运算
*1.乘法运算
/1.除法运算。运算结果需要使用浮点型则保留浮点型数据。如果能够转换为整型则自动转换为整型

a.逻辑运算&& || !
b.位运算 & |
c.三元表达式 2+3>5?“true”:“false”
d.typeof()运算符–判断数据类型

9.js语法–语句

for循环 (js没有增强for循环)
while
do …while
switch case
   —与java中的使用方式相同

var i=2;
//把1赋值给变量i,变量i的值自动转成true
//把要比较的值放在判断前面变量放在判断后面
if(1==i){
console.log("继续上课")
}else{
console.log("放学")
}
 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值