前端学习 JavaScript

1.变量的定义

隐藏试定义变量----->不需要写数据类型(js本身是一个弱类型)(c语言和java是强类型的语言)

javascript 复制代码
     a="123";//string a="123";
     b=1;//int b=1;
     c='a';//char c='a';

显示定义 使用var关键字来表述数据类型

javascript 复制代码
     var h="123";
     var i='a';
     var j=15.9;

数据类型表述数据在内存当中的存储形式

int:在内存当中开辟32bit大小内存空间 1bit符号位(表示正负)31bit数据位

char:在内存中开辟一个16bit的内存空间 字符本身无符号,所以就是一个16bit的空间

float:在内存当中开辟32bit大小内存空间 1bit符号位(表示正负) 8bit表示阶位(小数点的位 置)23bit数组位

强类型语言:需要提前定义好数据类型,以便直接存储数据

弱类型语言:不需要提前定义好数据类型,但是在存储数据之前需要根据数据的情况来判断数据的类型,以便开辟内存空间。

2.js的自动类型转换

javascript 复制代码
     var a="3.14";//字符串类型的数据
	 var b=a-2;//在js当中可以 这就是自自动类型转化(将字符串类型转化为数值类型)
	 var c="abc";
	 var d=c-2;
	 alert(b);//输出
	 alert(d);

说明字符串类型是数字的可以自动转换进行操作,字母的不可以。

3.强制类型转换

toString():将布尔值、数值转换为字符串
parseInt():将布尔值、字符串转换为整数
parseFloat():将布尔值、字符串转换为浮点型

javascript 复制代码
var e=parseInt(a)-2;//输出1
alert(e+"\n"+b)

第一个是将var a="3.14"强制转换为a=3进行操作。

4.变量作用域

变量:全局变量和局部变量

局部变量:定义在方法当中的变量

全局变量的作用范围是全局

局部变量的作用范围只在方法当中

javascript 复制代码
     var a="全局变量";
	 function myfun(){
	     age=20;
		 var f="局部变量"
		 alert(a);
	 }
	 myfun();//调用方法
	 alert(a);
	 alert(f);
	 //当全局变量和局部变量重名时,在方法内部局部变量覆盖全局变量,在方法外部局部变量失效
	 var h="hello";
	 function test(){
	     var h="world";
		 alert(h);
	 }
	 test();
	 alert(h);

不显示h的输出,证明局部变量只能在方法中有效

当全局变量和局部变量重名时,在方法内部局部变量覆盖全局变量,在方法外部局部变量失效

5.变量提升

在方法当中定义的变量自动提升到方法的最顶部,但是值提升变量不提升值

javascript 复制代码
     var a=10;
	 function test(){
	 //var a;
	     console.log(a);//报错,说明没有进行变量提升
		 //a=20;
		 let a=20;
		 //var a=20;
		 console.log(a);
	}
	test();

var a=20; 变量自动提升到方法的最顶部,但是值提升变量不提升值

let a=20; 这种定义没有完成提升变量的操作

6.常量

javascript 复制代码
    const MAX_AEG=100;//正确的定义常量形式
	MAX_AEG=101;//一旦定义好常量的值后,常量的值不能改变
	var a=10;//变量时值能变化的量
	a=11;
	const MAX_HEIGHT;//不对,变量必须有初始值

常量:不变的量,约定:定义常量使用大写字母

7.js当中的基本数据类型

js当中的基本数据类型:数值类型(包含整数和浮点数)var/let 布尔型(表示true和flase)var/left 字符串类型 undefi类型:(表示创建好变量但是没有赋初始值)var a; null类型:变量值为null var a =null;
c语言当中的:整形:short int long 浮点型:float double 字符型:char;c语言当中没有布尔类型 0(表示flase)1(表示true)
数值类型 :整数 浮点数

javascript 复制代码
   var a=10;
   var b=10/0;//0不能是除数
   //js当中一个特殊的数字NaN(Not a Num)非数
   var c=Number.NaN;
   console.log(a);
   console.log(b);//Infinity正无穷大
   console.log(c);//+-*/ 整数/整数 /表示整除   浮点数/整数 /正常的 c语言当中
   console.log(9/2);
   console.log(9.2/2);

8.字符串

javascript 复制代码
   var text="sdafrawrafa3rat";
   var a=text.charAt(0);//获得第一个字符!!!!重要
   var b=text.charCodeAt(1);//获得第二个字符对应的unicode值
   var c=text.length;//获取整个字符串的长度!!!!重要
   var d=text.toUpperCase();//转化为大写
   var f=text.indexOf("af");//寻找1字符串第一次出现的位置,如果没有就返回-1,如果有就返回位置!!!!
   var g=text.indexOf("a",6);//跳过6个字符后,寻找1字符串第一次出现的位置,如果没有就返回-1,如果有就返回位置!!!!
   var k=text.substring(3,6);//从原字符串中截取索引除3,4,5三个字符!!!!!
   var r=text.slice(3,10);//  从3开始(包括该位置的字符到10结束(不包括该位置的字符)提取并返回这个范围内的子字符串!!!!!
   var arr=text.split("a");//以a来把字符串分割成数组(一般以,或者空格来进行分割)
   console.log(a);
   console.log(b);
   console.log(c);
   console.log(d);
   console.log(f);
   console.log(g);
   console.log(k);
   console.log(r);
   console.log(arr);
相关推荐
charlie1145141915 小时前
现代 Python 学习笔记:Statements & Syntax
笔记·python·学习·教程·基础·现代python·python3.13
ha20428941945 小时前
Linux操作系统学习之---基于环形队列的生产者消费者模型(毛坯版)
linux·c++·学习
dxnb225 小时前
Datawhale25年10月组队学习:math for AI+Task5解析几何
人工智能·学习
哲Zheᗜe༘5 小时前
了解学习Redis主从复制
数据库·redis·学习
Never_Satisfied5 小时前
在JavaScript / Node.js / 抖音小游戏中,使用tt.request通信
开发语言·javascript·node.js
一只小透明啊啊啊啊6 小时前
Java Web 开发的核心组件:Servlet, JSP,Filter,Listener
java·前端·servlet
你的人类朋友7 小时前
设计模式有哪几类?
前端·后端·设计模式
Yeats_Liao7 小时前
Go Web 编程快速入门 10 - 数据库集成与ORM:连接池、查询优化与事务管理
前端·数据库·后端·golang
井队Tell7 小时前
打造高清3D虚拟世界|零基础学习Unity HDRP高清渲染管线(第九天)
学习·3d·unity
啃火龙果的兔子7 小时前
前端八股文react篇
前端·react.js·前端框架