JavaScript 基本语法(数据类型 变量 运算符 函数 常见对象)

js与html结合方式
* 内部js:
  	-定义<script>标签,标签体书写js代码
    - 注意:<script>标签定义的位置,会影响执行顺序
* 外部js:
  	- 定义<script>标签,通过src属性导入外部js文件
js基本数据类型:
* Java中:
    	整型:byte short int long
    	浮点型:float double
    	布尔型:boolean
    	字符型:char
* js原始数据类型:
    	number:数字类型,包含整数和小数和 NaN(not a number)
    	string: 字符串和字符类型	""  ''
    	boolean: true 和 false
    	null: 空类型。对象的占位符
    	undefined:未定义,如果一个变量没有初始化值,默认为undefined
变量:
* 语法:
    - 使用 var定义变量  var i = "abc";
    - js是一门弱类型语言:定义变量时,不需要规定其数据类型。
    - typeof运算符:获取变量的数据类型
    - var关键字如果不书写,该变量则为全局变量

* 语句:
  	if
  	switch
  	while
  	do...while
  	for
运算符
* 一元运算符
      		++ --  +(正) -(负)
* 注意:在js中,如果传递给运算符的值,和 运算符想要接受的 值 的类型不匹配,则会自动类型转换

    	(1) 其他类型转为number
      		string:将字符串的字面值,转为number,如果字面值不是数字,则 转为NaN
      		boolean: true为1 false 为0
      		
* 比较运算符
      	  > < >= <=: 
      	- NaN参与的运算,结果都为fasle,除了(!=)
      	- 字符串比较大小:如果长度一致按照字典顺序比较  长度不一致 那谁的长度长那就谁大
      	  !=(不等于)
      	  == ===(全等于):
      	- 全等于比较时,先比较类型,如果类型不一致,直接返回false
* 逻辑运算符
      	&& || !
* 其他类型转boolean
      	- number:非0为true,0和NaN为false,
      	- string: 除了空字符串(""),其他都是true
      	- null 和 undefined:转为false
      	- 对象:所有对象都为true
      
* 算术运算符:
      	+ - * / %
      	注意:NaN 参与数学运算 结果都为NaN
      
* 赋值运算符
      	=  +=  -=
      
* 三元运算符
      	表达式 ? 值1 : 值2; 
对象
* js是一门基于对象的语言
* 基于对象:不能由原生的对象派生出新的对象。换句话说,不存在继承关系
Function(*****): 代表函数
* 创建方式:
		 var fun = new Function("参数列表","方法体");
		 
		 function 方法名称(形参列表){
					方法体
			  }
			  
		 var fun = function(){
			
			  }
		
* 属性:
		length:形参的个数
		
* 使用:
		函数名称(实参列表);	
		特点:
			1.函数的调用,只与函数名称有关,与实参列表无关
			2.函数内部有内置对象 arguments 封装实参数组
		
* void运算符:拦截返回值,一般结合a标签一起使用
		注销a标签跳转功能,保留可被点击的功能
		<a href="javascript:void(0);" onclick="exit();">退出</a>
例子
<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title></title>
		<script type="text/javascript">
			/* 
			 a标签:1.可以点击,2.默认行为,要跳转页面
			  我现在只想让 a标签可以点击,但是不想让他跳转页面
			  我们可以使用void 来做
			 
			 */
			function tiao() {
				var v=window.confirm("你即将要进入的网站有危险,确认要跳转吗?")
				if(v){
					location.href="http://www.baidu.com";
				}
			}
		</script>
	</head>
	<body>
		<a href="javascript:void(tiao())">进入百度</a>
	</body>
</html>
JS中的内置对象
String 对象
   定义方式1: String  str=new String("abckdddd");
   
   定义方式2:var  str=哈哈哈哈";

 * 属性:length: 字符串的长度

 * 方法:
	charAt() 返回在指定位置的字符。 
	例子:var v="abcd";
	          var a=v.charAt(2);   

	concat() 连接字符串。 
	例子:var v="ab";  var a="cd";
		var z=v.concat(a);
	
	indexOf() 根据字符检索此符在字符串中的索引。 
	例子:var v="abcde";
		var z=v.indexOf("c");			

	lastIndexOf() 从后向前搜索字符串。 
	substring() 提取字符串中两个指定的索引号之间的字符。 
	var v="abcde";
	var z=v.substring(0,3); 含头不含尾
	
	toLowerCase() 把字符串转换为小写
	例子:
	 var str = "Hello World!";
	 document.write(str.toLocaleLowerCase());
	 toUpperCase() 把字符串转换为大写。 

	 replace() 替换字符串。
		例子: 
		var v="abceaaaa";
		var z=v.replace("a","h");  参1:被替换的字符/或字符串   参数2:替换成哪个字符/或字符串

	split() 把字符串分割为字符串数组。
	例子: 
	var v="a#b#c#d";
	var z=v.split("#");

    trim():去除字符串两端的空格
		例子: 
        var v="  abcd     ";
		var z=v.trim();
Number对象
* 定义方式:var num=new Number(555.6666);
	var num1=Number(5694);
* 方法:
	toString()  把数字类型转成字符串类型
	例子:
	var v=Number(695444);
	var z=v.toString();

	toPrecision()  把数字格式化为指定的长度。也就是小数后面保留几位
	例子:
	var v=Number(3.5999999999999);
    var z=v.toPrecision(4);
Date 对象
* 定义方式: var  myDate=new Date();
* 方法:
	getTime()   获取从1970-01-01 00:00:00   到当前的毫秒值
	
	toLocaleString()  将时间转化成本地格式 利于阅读

* 例子
    var myDate=new Data();
	var time=myDate.getTime();
	var localTime=time.toLocaleString();
Math 对象 (特点: 该对象不需要创建 直接对象名点上方法)
  Math.random();随机产生0----1 之间的随机数      var  num=Math.random()*100;
  Math.round(2.36); 对小数进行四舍五入  得到一个整数    var n=Math.round(Math.random()*100);
  Math.min(15,25); 取最小值
  Math.max(15,25);取最大值
  Math. abs(-2) 返回数的绝对值。 
  Math.floor(2.6);向下取整
  Math.ceil(3.82);向下取整
数组对象
* 定义方式:  var arr=new Array(2,6,8);
	   var  arr1=[6,"a",6];
* 属性:  length  数组的长度

* 特点:
	- 在js中数组可以存储任意类型元素
	- 在js中数组的长度可变
* 方法:
	concat() 连接两个或更多的数组,并返回结果。  
		例子:var v=[1,2];  var v2=[3,4];
			var z=v.concat(v2);
	join() 把数组的所有元素放入一个字符串。元素通过指定的分隔符进行分隔。 
		var v=[1,2,3];
		var z=v.join("-");  给数组元素之间添加分隔符
	pop() 删除并返回数组的最后一个元素 
		例子:
		var arr = [1, 6, 20];
	                alert(arr.pop());
	push() 向数组的末尾添加一个或更多元素,并返回新的数组长度。 
		例子:var arr = [1, 6, 20];
		         alert(arr.push(28));
	reverse() 颠倒数组中元素的顺序。

	sort() 对数组的元素进行排序  从小到大
		* 默认排序方式:字典顺序
		* 要想实现自己的比较方式,需要传入比较器方法对象
		例子:var arr = [1, 6, 20, 100];
	                  alert(arr.sort(bijiao));

	function bijiao(a, b) {
		if(a > b) {

			return 1;
		} else if(a == b) {

			return 0;
		} else {

			return -1;

		}
		//return a-b;

	}
Global:全局方法对象
* 特点:该对象中的方法调用,不需要对象的引用,可直接使用

* isNaN() 检查某个值是否是NaN。 
		   例子:var v=NaN;  var v1="abc"; var v2=123;
			var b=isNaN(v); 
			var b1=isNaN(v1);
			var  b2=isNaN(v2);

* parseInt() 解析一个字符串并返回一个整数。  
		从左向右依次查找,每一位是否是数字,直到遇到不是数字为止。将前边的值转为数字
		比正号强大些  var v=+“123”;
		例子:  var v=“152abc”
		var  v="123";
		var z=parseInt(v)+1;
RegExp(**):正则表达式对象
* 正则表达式
位置:
	^		开头
	$		结尾
次数:
	*		0或多个
	+		1或多个
	?		0或1个
	{n}		就是n个
	{n,}	至少n个
	{n,m}	最少n个,最多m个
通配符:
	\d		任意数字
	\D		任意非数字
	\s		任意空白
	\S		任意非空白
	.		任意字符(除'\n'外)
组合:
	[a-z]
	[0-9]
	等
组:
	(正则)		匹配括号中正则表达式对应的结果,并暂存这个结果。
	(?:正则)	匹配括号中正则表达式对应的结果,但不暂存这个结果。
	\数字		使用第n个组匹配的结果
使用正则的工具(RegExp类与相关方法)
创建:
	- 方式一
	var regex = new RegExp("正则表达式", "标志");
	- 方式二
	var regex = /正则表达式/标志
参数说明:
正则表达式:
参见上面的规则 
标志:
g (全文查找出现的所有 pattern) 
i (忽略大小写) 

方法:
	Regexp.test( str )
	String.replace( regex, str )


正则表达式对象常用的方法:
 test()  使用正则对象去匹配字符串  如果匹配成功返回ture,否则返回false.	
 exec()  根据正则表达式去查找字符串符合规则的内容。

模式:
g (全文查找出现的所有 pattern) 	
i (忽略大小写)


var str = "hello123";
var reg = /^[A-Z0-9]+$/i;
alert("匹配吗?"+reg.test(str));	


查找出三个字符组成的单词。
*/
var str  ="da jia hao hao xue xi a";
var reg = /\b[a-z]{3}\b/gi;
var line ="";
while((line = reg.exec(str))!=null){
	document.write(line+"<br/>")
}
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值