JavaScript基本知识 概念对象数据类型空指针异常




概念

一门客户端脚本语言,javaScript = EcmaScript + javaScript自己特有的东西(BoM:对象+Qom:对象)

Var

var 是 variable(变量,可变物)的简写。在多种计算机编程语言中,var 被用作定义变量的关键字

内部js,外部js

要包含外部文件中的 JavaScript,就必须使用 src 属性。这个属性的值是一个 URL,指向包含
JavaScript 代码的文件

内部js:定义script,标签体内容就是js代码
外部js:在外部js文件定义script,通过src来调用js文件
script:可以定义在html页面的任何位置,定义的位置会影响执行的顺序,可以定义多个

数据类型

number:数字

整数,小数,NaN

NaN:一个不是数字的数字类型

String:字符串 ‘’ “”

bollean:true false

null:一个对象的占位符

undefined:未定义,一个变量没有初始化,则会被默认值为undefined

typeof:运算符

<注意:typeof对于null值会返回Objiect,这实际上是javascript最初的错误,现在null被认为是对象的占位符

typeof:获取变量的类型

格式: var Temp = “text String”;
alert(typeof (Temp));//输出String类型
alter:弹出一个警告框


document:输出到页面上

使用:document.write(要输出在页面上的);

变量

语法:var 变量名 = 初始化;

变量:一块存储数据的内存空间
javascript是弱类型语言
java:是强类型语言

弱:开辟变量储存空间时,不定义空间的数据类型,可以任意存放不同的数据类型

强:开辟变量储存空间,定义好了储存的数据类型,只能储存固定的数据类型	

运算符

一元运算符

 ++, +(正号) :  ++ (--)在前,先自增(自减),再运算
 --,自增(自减):++(--)在后,先运算自增,自减 在运算

算术运算符

 -,+, * ,/ ,%

赋值运算符

 += = -+ 

比较运算符

 < ,> ,<=,>= ,==, ===(全等于)

逻辑运算符

 &&(与,短路),||(或,短路) ,!(非)

!(非)理解: != 不等于

number转boolean 		number:0或NaN为假,其他为真
 var text = 3;
 document.write(!text)//false
 document.write(!!text)//true

String 转boolean String:除了空字符串,其他都是真

 var text = '';
 var text1='aaa';
 document.write(!text)//true
 document.write(!!text1)//ture
document.write(!text1)//false

null&undefined转boolean null&undefined:都是false


三元运算符

 ? :

理解:

   var p =1;
  var c =2;
 var q = p > c ? 1:9;
表达式? 值1:值2
  如果为true则取值1,如果为false则取值2

注意:在js中,如果运算符不是运算符所要求类型,那么js会自动转换类型,将运算符进行类型转换

案例: var Temp = +"strrig";
  alert(typeof (Temp));//转换为了number
  alert(Temp + 1);//转换为了NaN

不是运算符所要求的类型,自动转换为了number类型,按照字面值转换,如果字面值不是数字,则转换为NaN


流程控制语句

if…else


switch
js中,switch语句可以任意接受任意的原始数据类型


while


do…while


for
不同之处 var
for(var i=1;i<=100;i++){
}


js中防止空指针异常

var texr = null;//当为空的时候if里面是不会去执行的
if(text){//防止空指针异常	
		
if(text) 只要text!=0 ; text!=null,text!=undefined;text!=""的情况下就成立了。
}

	var text = 'aa'
		if(text){

		只有当不为空的时候里面才会去执行

}

对象

   Function

Function:函数(方法)对象

创建格式
方法一

 格式:function 方法名称(形式参数列表){
		  //方法体
 }
 function sc(a,b){
		   alert(a + b);
 }
			sc(3,4);

方法二
var 方法名 = function(形式参数列表){
 		 //方法体
 }
 var sum = function (a , c){//形参
   		 alert(a,c);
}
sum("s"+"s");

方法

length:代表形参的个性


属性
方法一:方法定义是,形参的类型不用写,不用在形式参数列表写var


方法二:当方法是一个对象,如果定义名称相同的方法,会覆盖

  var text = function (a,b){
	    alert(a,b);
 }
   function text(a,v){
		alert(a,v)
 }
		text(1-2);//-1

 方法三: js中,方法的调用只与方法的名称有关,与实际的参数列表没关
var sum = function (a,b,m){
      alert(a);
}
      sum(1);//1  

显示出不严谨性,只要与方法的名称有关.与参数没关


方法五:在方法声明中有一个数组,隐藏式内置对象,arguments,封装所有的实际参数

function  sum() {   &emsp;&emsp; var sum1 = 0;
for (let i = 0; i < arguments.length; i++) {
          sum1 += arguments[i];
   }
       return sum1;
}
var sum2= sum(2,4,6);

  alert(sum2);

   Array:数组对象

格式

1:var arr = new Array(元素的列表);
2:var arr = new Array(默认长度);
3:var arr = [元素列表];

关键字:

 	join(参数):将数组中的元素按照指定的分隔符拼接为字符串
 理解
 	var arr= ["qqq"];
	arr[1]="te";
	document.write(arr.join("++"));
	
 push():向数组的末尾添加一个或更多元素,并返回新的长度
	 var app=[11,12,13];
	 app.push(1.14);
	 document.write(app);


 length:数组的长度

    Date:日期对象


语法:

	var date = new Date();

关键字:

toLocaleString():返回当前date对象对应的时间本地字符串格式
理解:
			var date1 = new Date();
	document.write(date1.toLocaleString());

getTime():获取毫秒值,返回当前如期对象描述的时间和1970年1月1日零点毫秒值差
			var date1 = new Date();
		document.write(date1.getTime());

理解: 数组元素的类型可变的
var add=[1,false,"ooo"];
document.write(add);

数组的长度是可变的

  //数组的长度是从零开始的
var add1=[1,2,3];
document.write(add1[2]+"<br>");//3
    add1[3]=20;
 document.write(add1[3]+"<br>");//20
 document.write(add1[4])//undefined

    Math:数学

格式解释:Math对象不用创建,直接使用

Math.add();

关键字:

random():返回0~1之间的随机数,含0不含1
ceil(x):对数进行上舍入
floor(x):对数进行下舍入
round(x):把数四舍五入为最接近的整数
PI:返回3.141592653589793

   RegExP:正规表达式对象

正规表达式对象: 定义字符串的组成规则  


单个字符:[ ]
特殊符号代表特殊含义的单个字符:
\d:单个字符[0-9]
\w:单个单词字符	[abc]	查找方括号之间的任何字符。


量词符号:
?:出现0次或1次
*:出现0次或多次
+:出现1次或多次
{m,n}:表示 m<= 数量 <= n 
   m如果缺省:{,n}:最多n次
   n如果缺省:{m, }:最少m次
   
 关键字
   ^:开始   $:结束
	 var ce1=/^\w{4,8}$/;
	 
text(方法):验证指定的字符串是否符合正规定义的规范
var ce1=/^\w{4,8}$/;
	var cs="lisi";
var cet = ce1.test(cs);//true
	 
创建格式
   var  cmd=new RegExp("正则表达式");
	   var cmd = new RegExp("\w{2,5}");
	   
   var  cmd1=/ 正则表达式/;
	   var cmd1=/\w{4,8}/;
	   
注意:	
		 var cmd = new RegExp("\w{2,5}");
	/w:/含转义字符含义,不代表一个单词字符了
	//w:代表一个单词字符

	var cmd1 = new 	RegExp("\\w{1,5}");

    Global

特点:全局对象,不需要对象,直接调用 方法名();
关键字:

encodeURI: 对 URI 进行编码。
decodeURI() :解码 URI。

decodeURIComponent():解码 URI 组件。编码的字符更多
encodeURIComponent():对 URI 组件进行编码。

parseInt():解析字符串并返回整数。
逐一判断每一个字符串是否为数字,直到不是数字,当第一个为字符串时,返回一个NaN

NaN:NaN参与的==比较全部都是false
isNaN:判断一个值是否是NaN

var a =NaN;
document.write(isNaN(a));//真的

eval():将javaScript 字符串,并把它作为脚本代码执行
var str = “document.write(123)”;
var str1=eval(str);

通过document.write(123)将它作为了脚本代码执行:在页面上输出一个123



小知识

变量中的定义使用var关键字使用的区分

使用:定义的变量是局部变量

不使用:定义的变量是全局变量
var b =1;
if(b){
    c = 4;
}
    alert(c );

正确格式:增加一定的可读性与思维逻辑

var b = 1;
  var c ;
if(b){
  c = 4;
}
 alert( c )

GBK:中字符串一个汉字占2个字节
UTF-8:中字符串一个汉字占3个字节

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值