JS基本内容

阿特伍德定律:
any application that can be written in JavaScript, will eventually be written in JavaScript”

意即“任何可以用JavaScript来写的应用,最终都将用JavaScript来写”

JavaScript

​ js 和java的关系:其实他们没有任何关系 雷锋和雷峰塔

概念:

​ 一门客户端(浏览器)脚本语言,运行在我们的客户端,每一个浏览器都有js引擎

​ 脚本语言:不需要编译,直接就可以被浏览器解释执行

​ 最初用来验证表单

​ **功能:**增强用户和html的交互体验,2.可以控制html元素 3.让页面有动态效果,增强用户体验

起源

​ 第一个脚本语言叫做 c-- 后更名scriptEase

​ NetSpace(网景) 开发liveScript ,后因与Sun合作,所以更名为JavaScript

​ 微软,抄袭js开发JScript

​ ECMA指定ECMAScript(一套标准)

​ JavaScript = ECMAScript(标准) + BOM(js独有) + DOM(js独有)

ECMAScript 客户端脚本语言的标准

1.基本语法

  • 与HTML结合
    • 内部js src
    • 外部js link

注意

​ script可以写在任何地方,但是推荐写在head标签

​ script可以有多个

注释

​ // 单行注释

​ /* */ 多行注释

数据类型

​ 原始数据类型(基本数据类型)

​ 1.number 数字类型,整数,小数,NaN(not a number 不是数字的数字类型)

​ 2.string 字符串,“sss” , ‘ss’

​ 3.boolean ture和false

​ 4.null 一个对象为空的占位符

​ 5.undefined未定义,如果一个变量没有给初始化值,就会被复制成undefind

​ 判断类型用 typeof

​ 引用数据类型 对象

变量

​ 一小块存储数据的内存空间

​ java是强类型,js是弱类型

int i = 1 + 1; //2

var i = 1 + 1; //2
var i = 1 + "1"; // 11

​ var 变量名 = 初始化值;

typeof

​ 获取变量的类型

运算符

​ 1.一元运算符 ++ – + - 只有一个运算数的运算符

​ 在js中,如果变量不是我们运算需要的类型,那么js引擎自动把运算数进行类型转换

​ 其他类型转number

​ string转number NaN(有字符的情况下),数字(无字符)

​ boolean true 转成1 false转成0;

​ 2.算数运算符 + - * / %(取模,就是余数的意思)

​ 3.赋值运算符 = += -=

​ 4.比较运算符 > < >= <= == ===(全等于)

​ 比较方式

​ 1.类型相同:

​ 字符串:根据字典(ASCII)来直接比

​ 2.类型不相同

​ 先进行类型转化,在进行比较

​ 5.逻辑运算符 && || !

​ 其他类型转化成boolean

​ 1.number: 0 返回false,1和其他数字返回true

​ 2.string: ”“返回false,其他返回true

​ 3.null undefined 都是false

​ 4.对象 true

​ 6.三元运算符

​ ?值1:值2

语法

​ 表达式? 值1:值2;

逻辑控制语句

​ 1.if…else

​ 2.switch java中,byte int shortchar js中,可以接受任何原始数据类型 number,string,boolean,null,undefined

​ case1:

​ break;

​ 3.while

4.do…while

​ 5.for

js的特殊语法

​ js中可以不写分号,但是强烈不推荐

​ 变量的定义需要var,但其实可以省略,强烈不推荐使用

区别

​ 写的话:表示一个局部变量

​ 不写:表示全局变量

案例:九九乘法表

eg:https://mp.csdn.net/mdeditor/99223921#

对象

方法对象 Function

​ 1.创建

​ 1.不用

var fun = new Function(参数列表,方法体)

​ 2.

function 方法名称(形参){
	方法体
}

​ 3.

var 方法名 = function(形参){

}
Array对象 数组对象

​ 1.创建数组

​ var arr = new Array(元素列表);

​ var arr = new Array(默认长度);

​ var arr = [];

​ 2.push():往末尾添加新元素,并返回新长度

​ join(参数):根据参数把数组分割转换成字符串[1.2,3,4,5,]

Date 日期对象
Math数学对象
/*
		var math =new Math(),
		math.方法();
		数学对象直接使用
		方法:
			random()	返回0到1的值,包含0,不包含1;
			ceil()		向上取整
			floor()		向下取整
			round()		取四舍五入
		属性
			PI
		对象()

	*/
	//alert(Math.PI);
	//alert(Math.random());

	/*
RegExp 正则表达式 定义字符串的组成规则

​ 单个字符 []

​ [a]

​ [ab] ab中的一个字符

​ \转义符

​ \d 单个数字字符 [0-9]

​ \w 单个单词字符 [a-zA-Z0-9]

量词符号

​ ? 出现0次或1次

​ * 出现0次或多次

​ + 出现1次或多次

{m,n} 最少出现m次,最多出现n次

开始结束符号

​ ^ 开始

​ $ 结束

		正则对象		定义字符串的组成原则
		1.单个字符
			[a]	[abc]	[a-z0-9A-Z]
			/d 数字字符	/w单个单词字符
		2.量词符号
			?	出现1或0次
			*	出现0次或多次
			+	出现1或多次
			{m,n}	最少出现m次,最多出现n次		缺省
		3.开始结束
			^开始
			$结束
		使用方式
			1.var reg = new RegExp("^\\w{6,12}$");
			2.var reg = /^[/w]+[@][/w]+[.][/w]$/;   	推荐使用
Global 全局对象
	//Globle全局对象
		/*
			特点:不需要对象就可以直接调用	方法名()
			方法: encodeURI()
				  decodeURI()
				  parseInt()
				  isNaN()	六亲不认	,只要NaN参与的==全部返回flase
				  eval()
		*/
		/*	var string = "美少女";
			var encode = encodeURI(string);
			var decode = decodeURI(encode);
			alert(decode);*/
/*			var str = "a123abc";
			var num = parseInt(str);
			alert(num);*/
/*			var num = NaN;
			alert(isNaN(num));	*/

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值