JavaScript 概述

1 JavaScript 

1.1 JavaScript 是一种脚本语言
  脚本语言不单独使用,必须嵌入到其他语言中组合使用
1.2 JavaScript 由浏览器解析执行,解析一条,执行一条
1.3 JavaScript 可以控制前端的页面的逻辑操作
例如 可以控制css样式
    可以对表单项进行校验
可以对HTML元素进行动态控制
1.4 JavaScript 的特点
                    交互性
                    安全性
                    跨平台性

2. JavaScript 的组成

2.1 ECMAScript    描述了JavaScript 的语法 和基本对象 
2.2 DOM  文档对象  : 处理网页内容的方法和接口
2.3 BOM  浏览器对象类型  与浏览器交互的方法和接口

3. JavaScript 和 java 的关系

两者没有一点关系 ,只是语法形式上相似


JavaScrip 与java 的区别


3.1 JavaScrip 是一种脚本语言,java 是一种编程语言


3.2  JavaScrip 是一种弱类型语言 , java 是一种强类型语言


3.3 JavaScrip 是由浏览器执行,java 是由JVM执行


3.4 JavaScrip 是基于对象 , java 是面向对象

 

4.JavaScrip与HTML的结合 方式

    4.1 内部使用(属性结合方式)
4.2 外部使用
   <script type="text/javascript" src=" 文件路径名"></script>

5. JavaScrip 中的语法及使用方法

5.1 注释 

单行注释  //
多行注释  /**/

       5.2 变量 

5.2.1 JavaScrip 中的变量格式    var  变量名 = 变量值  ;

5.2.2 变量类型    JavaScrip 中是大小写敏感的

5.2.2.1 原始数据类型   

string  字符串类型   ‘’  “” 都 表示 是字符串
boolean
number  数字类型  整数 小数 和NaN 
null    对象的占位符,表示引用类型的不用在
typeof 运算符对于null 值 会返回 Object 这实际上是JavaScript最初
的一个错误
typeof() 用来判断 变量值是什么  结果 是原始数据类型
undefined  声明的变量未赋值,系统会默认赋值undefined
undefined 是从null 中派生出来的    undefined == null   // true 

5.2.2.2 引用数据类型

JavaScript 中并无类,我们可以理解为对象
Object 所有对象的父类
instanceof 用来判断对象属于哪种类型

                                                var obj = new Object('aa');
	         					alert(obj);//aa
		
						var obj = new Boolean(10);
						alert(obj);//true
		
						var obj1 = new Boolean("22");
						alert(obj1);//true
		
						var obj2 = new Boolean(true);
						alert(obj2);//true
		
						var obj3 = new Boolean(false);
						alert(obj3);//false
		
						var obj4 = new Boolean(null);
						alert(obj4);//false
		
						var str='abc';
						alert(str instanceof String);
						//false
		
						var str1 = new String('abc');
						alert(str1 instanceof String);
						//true
		
						var str2 = new String('abc');
						alert(str2 instanceof Array);
						//false
		
						var str3 = new String('abc');
						alert(str3 instanceof Object);
						//true
						
						var num = undefined;
						alert(num);//undefined
						alert(typeof(num));//undrfined
						alert(typeof(num.toString()));//不执行



5.2.2.3  类型转换

                 5.2.2.3.1 转换成字符串


                                        var flag = true;
					alert(flag);//true
					alert(typeof(flag));//boolean
					alert(typeof(flag.toString()));//string	
					
					
					var num = 5;
					alert(num);//5
					alert(typeof(num));//number
					alert(typeof(num.toString()));//string


					var num = null;
					alert(num);//null
					alert(typeof(num));//Object
					alert(typeof(num.toString()));//不执行


5.2.2.3.2 转换成数字

                                        var str = 'abc';
					alert(typeof(str));//string
					alert(parseInt(str));//Nan
					alert(typeof(str));//string
					
					var str = true;
					alert(typeof(str));//boolean
					alert(parseInt(str));//Nan
					alert(typeof(str));//boolean
					
					var str = null;
					alert(typeof(str));//Object
					alert(parseInt(str));//NaN
					alert(typeof(str));//Object
					
					
					var str = '454a55';
					alert(typeof(str));//string
					alert(parseInt(str));//454
					alert(typeof(str));//string



注意:
parseInt() 把其他类型转成整数,有小数直接忽略
parseFloat() 把其他类型转成小数
string 如果可以转换成数字,是多少就转成多少,
如果有非法字符,那么非法字符后面的东西全部忽略
如果第一个就是非法字符,那么就直接转换成NaN
boolean 直接转成NaN
                        null 转成NaN
                        undefiend 转换成NaN

5.2.2.3.3   强制类型转换

                        Boolean(value) - 把给定的值转换成 Boolean 型; 
                        Number(value) - 把给定的值转换成数字(可以是整数或浮点数); 
                        String(value) - 把给定的值转换成字符串;

注意:
           Boolean 

           string    如果有字符串值,那么是true
             如果是空字符串,那么是false

           number  如果数字非0,那么是true
                     如果是0或者NaN,那么是false

           null false

           undefined   false

5.2.3  算术运算符

+符号
算术运算加
字符串连接转换符
number转换符(其他类型转number):
string转number :将值转成数字类型,如果值不是合法数字,就转为NaN
例如:var str = +"11";
var str='a';
boolean转number : true转为1 ,false转为0-号除了运算外,可以作为转换符
           null转number: 转为0
           undefined转number:转为 NaN

alert(typeof(str));//string
alert(str);//a
str = + '11';
alert(typeof(str));//number
alert(str);//11

   使用算术运算符时,都会向数字方向进行转换,如果不是数字类型,则不转换。

-符号
算术运算减
转换符
number转换符(其他类型转number)
           

5.2.4 赋值运算符

= 赋值
+= 原值先加后赋值(若原值不为可运算数字,自动转换为对应数字)
-= 原值先减后赋值(若原值不为可运算数字,自动转换为对应数字)


5.2.5 比较运算符

== 比较值
=== 比较值和类型


!= 比较值
!== 比较值或比较类型,有一个不同即为不同

5.2.6 逻辑运算符

&& 逻辑与
|| 逻辑或



使用以上逻辑运算符,最终都会用boolean类型运算,若不是boolean类型,则进行转换。
number转boolean:0或NaN 转换成false ,其他为true
string转boolean:””为false,其他为true
null转boolean:转为false
undefined转boolean:转为false
对象转boolean:转为true

5.2.7 条件运算符 

                var var = (表达式)?value1:value2

        5.3 流程控制语句

if  switch  for   while   

6 对象  

6.1 Number 对象 

创建方式:
var mun1 =10;  --伪对象             alert (typeof(num1));//number
var num2 = new Number(10);          alert(typeof(num2));//Object
var num3 = Number(10);              alert(typeof(num3));//number
属性
MAX_VALUE;  alert(Number.MAX_VALUE);

MIN_VALUE;  alert(Number.MIN.VALUE);
NaN;  可以使用isNaN() 来判断一个值是否为数字
判断

6.2 Boolean 对象

创建方式:
var flag1 = true;
var flag2 = new Boolean(true);
var flag3 = Boolean(true);
   alert(flag1);//true  
       alert(flag2);//true
       alert(flag3);//true

6.3 String 对象

创建方式:
属性   length
charAt(5);
concat(str1,..);
indexOf();
replace(srt1,str2);
split("");

6.4 数组 

   var arr= [1,2,3];
var arr =new Array();
var arr = new Arry(4);  默认数组长度是4
var arr = new Array(1,2); 数组元素是1,2

属性  length
常用 方法
concat(,,,) 连接两个或更多的数组,并返回连接后的结果,对调用的数组没有任何的影响
join()
shift()删除并返回数组的第一个元素,如果数组已空,那么SHIFT()方法将不进行任何 操作,返回 undefien
pop()删除并返回 数组的最后一个元素,如果数组已为空,则pop()不改变数组,并返回  undefiend
push()向数组末尾添加一个或多个元素,并返回新数组的长度
unshift()向数组 开关添加一个或多个元素,并返回回新数组的长度
reverse() 把数组的元素进行物理翻转,会操作数组
sort()  排序会默认根据字符码表去排序,有很大的缺陷,所以最好实现实例
       function sortNumber(a,b){ return a-b}

javascript  与 java 中的数组 的区别 
   数组的长度是可变的
数组的元素可以是任意类型的

6.5 Date 方法 


var date = new Date(); 会创建 date 对象,会把当前的系统值做为初始值
var date = new Date(毫秒值)  会创建date对象
方法 
				toLocaleString()  会把日期 转换成本地日期格式
				getDate() 返回 一个月中的某一天
				gerDay()
				getMath()
				getfullYear()
				getTime()
				settime()
				parse()
				
				
				var date = new Date();
				alert("date"+date);
				alert("date tolocalestring "+date.toLocaleString());
				alert("date gedate "+date.getDate());
				alert("date  getDay"+date.getDay());
				alert("date getMonth "+date.getMonth());
				alert("date getFullyear "+date.getFullYear());
				alert("date gettime "+date.getTime());
				
				
			计算某两个时间内相差的天数
					var time1 = Date.parse("2015/7/8");
					var time2 = Date.parse("2015/7/9");
					var long = time2-time1;
					alert(long/1000/60/60/24);



    6.6 Math 对象 

方法 
random();
round();
ceil()
floor()

    6.7 RegExp  对象

7 全局函数

7.1 eval 可以把字符串当做JavaScript代码来执行 
var str ="alert('你好')";
       eval(str);
7.2 isNaN()  判断是否是 NaN 如果参数是NaN 那么返回true 否则是false

7.3 URL
encodeURL() 编码 
decodeURL() 解码
encodeURIComponent()  URI编码 进行编码的时候适用于  传递参数
decodeURIComponent()  URI解码
var str = "http://www.itcast.cn/a.html?dfd=张三&dfd=123abc";

var tem = encodeURI(str);
alert("tem"+tem);
alert(decodeURI(tem));

7.4 URL  URI 
   7.4.1 URL 是统一资源定位符  URL是具体的URI
 URI 是统一的资源标识符
 
 URL 是绝对的,资源改变位置 URL 
 
 例如:http://www.baidu.com是URL,不是URI
例如:http://www.baidu.com/a.html 是URL也是URI
    
早起的年轻人 CSDN认证博客专家 移动开发 项目管理 Java
只要用心去做,每一件事情还是有可能成功的,当然成功是没有界限的,只不过是达到自己心里的那个目标,公众号:我的大前端生涯,一个爱喝茶的程序员,通常会搞搞SpringBoot 、Herbinate、Mybatiys、Android、iOS、Flutter、Vue、小程序等.
©️2020 CSDN 皮肤主题: 代码科技 设计师:Amelia_0503 返回首页