JavaScript基础5

标签: javascript

JavaScript_5

1.Javascript中的对象

  1.自定义对象

  2.内置对象: 高级对象    dom对象       bom对象

2.javascript高级对象

   1. 创建

   2. 调用对象的属性和方法

   3. 注意事项

2.1 字符串对象(String)

  一个字符串可以使用单引号或双引号:

  实例

   var carname="Volvo XC60";
   var carname='Volvo XC60';

注意:双引号中的双引号用单引号代替。

var str="zhangsan:say’hello’";

 1.String创建

  1.通过直接赋值的方式

      var str1="hello,world";

  2.通过String的构造器  new String(value);

      var  str2=new String("hello,world");

 2.String的常用属性和方法

  1. length属性---计算字符串的长度

  2. charAt(index)--得到字符串中指定位置的字符

      var str1="hello,world";

      var ch2=str1.charAt(6); //w

  3. indexOf()--得到指定字符/字符串在原始字符串中第一次出现位置,如果没有就得到-1

      var str1="hello,world";

      var l_index=str1.indexOf("l"); // 2

  4. lastIndexOf()得到指定字符/字符串在原始字符串中最后一次出现位置,如果没有就得到-1

  5. substring(start,end)--截取字符串

      var path="F:\20201103\JavaScript基础\20201117JavaScript(4)\JavaScript_4.docx";

      var dian_index=path.lastIndexOf(".")+1;

      var houzhui=path.substring(dian_index);

             if(houzhui=="docx"){

                        alert("DOCX文档");

                           }

  6. replace(old,new) 方法在字符串中用某些字符替换另一些字符。

      var res1=str1.replace("hello","你好");

  7. 字符串大小写转换使用函数 toUpperCase() / toLowerCase()

  8. split(分隔符)将字符串通过指定分隔符转为String数组【拆分字符串】

      var info="name=zhangsan;age=23;address=西安";

      var strarray=info.split(";");

              for(var i=0;i<strarray.length;i++){

                           document.write("<h1>"+strarray[i]+"</h1>");

                       }

  9. 特殊字符

代码\'\"\\\n\r\t\b
输出单引号双引号斜杆换行回车tab空格

 var info="zhangsan:say\"hello\"";

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title></title>
		<script>
			var str1="hello,world";
			var str2=new String("HELLO,WORLD")
			//alert(str2)
			//alert(str2.length)
			var ch=str1.charAt(7)//字符串中指定字符的位置
			//alert(ch)
			var l_index=str1.indexOf("o")//某一字符第一次出现的位置
			//alert(l_index)
			var path="file:///C:/Users/feng/Desktop/磊笔记/JavaScript.docx"
			var dian_index=path.lastIndexOf(".")+1//某一字符最后一次出现的位置
			//alert(path.length)
			//alert(dian_index)
			var houzhui=path.substring(dian_index)//截取一段字符
			/*if(houzhui=="docx"){
				alert("这是一个docx文档")
			}*/
			var res1=str1.replace("hello","你好")//用某些字符替换另一些字符
			//alert(res1)
			var daxie=str1.toUpperCase()//大写转化
			//alert(daxie)
			var xiaoxie=str2.toLowerCase()//小写转化
			//alert(xiaoxie)
			var info="name:zahngsan;age:23;adress:西安";
			var strarray=info.split(";")//把字符串拆分成数组
			for(var i=0;i<strarray.length;i++){
				document.write("<h1>"+strarray[i]+"</h1>")
			}
			var test1="zhangsan:say\"你好\""
			var test2="zhangsan:say\'你好\'"
			var test3="zhangsan\nlisi"//换行
			var test4="zhangsan\\lisi"
			var test5="zhangsan\rlisi"//回车换行
			var test6="zhangsan\tlisi"
			var test7="zhangsan\blisi"
			document.write("<h1>"+test1+"</h1>")
			document.write("<h1>"+test2+"</h1>")
			document.write("<h1>"+test3+"</h1>")
			document.write("<h1>"+test4+"</h1>")
			alert(test7)
		</script>
	</head>
	<body>
	</body>
</html>

2.2 Number 对象

  JavaScript 只有一种数字类型。

  JavaScript 数字可以使用也可以不使用小数点来书写

  极大或极小的数字可通过科学(指数)计数法来写

精度

  整数(不使用小数点或指数计数法)最多为 15 位。

  小数的最大位数是 17,但是浮点运算并不总是 100% 准确:

      var num1=10/3; //3.3333333333335

八进制和十六进制

  如果前缀为 0,则 JavaScript 会把数值常量解释为八进制数,如果前缀为 0 和 "x",则解释为十六进制数。

      var y = 0377; //8进制 255

      var z = 0xFF; //16进制 255

注意:我们在定数字变量赋值是不要随便去开头使用”0”/”0x”。

无穷大(Infinity) 无穷-Infinity)

       在javascript中所有 JavaScript 数字均为 64 位,当数字运算结果超过了JavaScript所能表示的数字上限(溢出),结果为一个特殊的无穷大(infinity)值,在JavaScript中以Infinity表示。同样地,当负数的值超过了JavaScript所能表示的负数范围,结果为负无穷大,在JavaScript中以-Infinity表示。无穷大值的行为特性和我们所期望的是一致的:基于它们的加、减、乘和除运算结果还是无穷大(当然还保留它们的正负号)。

      var myNumber=2;

      while (myNumber!=Infinity){

                myNumber=myNumber*myNumber;

                document.write(myNumber +'<br>');

                 }

  除以0也产生了无限: var num2=10/0;

NaN - 非数字值not a Number

        NaN 属性是代表非数字值的特殊值。该属性用于指示某个值不是数字。可以把 Number 对象设置为该值,来指示其不是数字值。

你可以使用 isNaN() 全局函数来判断一个值是否是 NaN 值。

      //var x = 1000 / "Apple";

      //alert(isNaN(x)); //true  【不是一个数字】

      var x2 = 1000 * "1000"; //1000000

      alert(isNaN(x2));  //false  【是一个数字】

数字对象的创建

1.变量直接赋值

2.通过构造器

  //变量直接赋值

      var testnum1=10.558;

  //通过构造器

      var testnum2=new Number(10.558);

数字对象的常用属性和方法

  1. MAX_VALUE-- JavaScript 中可表示的最大的数

      Number.MAX_VALUE

  2. MIN_VALUE-- JavaScript 中可表示的最小的数

      Number.MIN_VALUE

  3. toFixed();四舍五入保留指定的小数位数

      var testnum2=new Number(10.558);

      //toFixed();四舍五入保留指定的小数位数

      var res1=testnum2.toFixed(2);  //10.56

        当 num 太小或太大时抛出异常 RangeError。0 ~ 20 之间的值不会引发该异常。有些实现支持更大范围或更小范围内的值。

当调用该方法的对象不是 Number 时抛出 TypeError 异常。

      var  test1="1000";

      var res2=test1.toFixed(2);

  4. toString()方法可把一个 Number 对象转换为一个字符串,并返回结果。

      var  test2=100;

      var  test3=200;

      alert(test2+test3); //300

      var strtest2=test2.toString();

      var strtest3=test3.toString();

      alert(strtest2+strtest3);//100200

  5. toString() 方法 输出16进制、8进制、2进制。

      var myNumber = 10;

      document.write(myNumber + ' 十进制<br>');

      document.write(myNumber.toString(16) + ' 十六进制<br>');

      document.write(myNumber.toString(8) + ' 八进制<br>');

      document.write(myNumber.toString(2) + ' 二进制<br>');

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title></title>
		<script>
			var y=0343
			var z=0xff
			//alert(z)
			var mynumber=2
			while(mynumber!=Infinity){
				mynumber=mynumber*mynumber//无穷大Infinity
				document.write(mynumber+"<br />")
			}
			var num2=10/0//无穷大
			//alert(num2)
			var x=1000/"apple" //判断一个值是不是NaN值
			//alert(isNaN(x))
			var y=1000/"1000"
			//alert(isNaN(y))
			var testnum1=10.558
			var testnum2=new Number(10.558)
			//alert(testnum2)
			document.write(Number.MAX_VALUE+'<br />') //JavaS中最大的数字
			document.write(Number.MIN_VALUE+'<br />') //JavaS中最小的数字
			var res1=testnum1.toFixed(2)//四舍五入保留指定的小数位数
			//var a="100.5453"
			//var res2=a.toFixed(2)
			var b=100;
			var c=200;
			//alert(b+c);
			var str1=b.toString() //把Number数转换为字符串
			var str2=c.toString()
		    // alert(str1+str2)
			 document.write(b.toString(16)+'十六进值<br />')//转换完后不是数字是字符串
			 document.write(b.toString(8)+'八进值<br />')
			 document.write(b.toString(2)+'二进值<br />')
		</script>
		
	</head>
	<body>
	</body>
</html>

2.3JavaScript Array(数组)

  数组对象的作用是:使用单独的变量名来存储一系列的值。

数组的创建

  1. 先定义后赋值

      var mycars = new Array();

      mycars[0] = "Saab";

      mycars[1] = "Volvo";

      mycars[2] = "BMW";

  2. 定义+赋值

      var myCars=new Array("Saab","Volvo","BMW");

  3. 字面量赋值

      var myCars=["Saab","Volvo","BMW"];  //[]=数组

  数组取值---格式: 数组名称[下标]

      var myCars=["Saab","Volvo","BMW"]; 

      myCars[2];    //BMW

  4. 在一个数组中你可以有不同的对象

      var stu={stuid:1001,

      stuname:"zhangsan",

      testfunc:function(){

               alert("自定义对象");

           }};

      var myarr = new Array();

      myarr[0]=100;

      myarr[1]="hello";

      myarr[2]=true;

      myarr[3]=stu;

      alert(myarr[3].stuid);

数组方法和属性

  1. length---得到数组元素的个数。

  2. concat()合并两个数组

  var myCars=["Saab","Volvo","BMW"];  //[]=数组

      var myarr = new Array();

      myarr[0]=100;

      myarr[1]="hello";

      myarr[2]=true;

      myarr[3]=stu;

      var  res1=myarr.concat(myCars);

      alert(res1.length);

  3. join()用数组的元素组成字符串

      var str=myCars.join();

  4. pop()删除数组的最后一个元素

      myCars.pop();

  5.shift()删除数组的第一个元素

      myCars.shift();

  6.push()数组的末尾添加新的元素

      myCars.push("hello");

  7.unshift()在数组的开头添加新元素

      myCars.unshift("hello");

  8.splice()在数组的指定位置添加一个元素

      myCars.splice(2,0,"Lemon","Kiwi","apple");

  9.reverse()将一个数组中的元素的顺序反转排序

      myCars.reverse();

  10.slice(start,end)从一个数组中选择元素

      myCars.slice(1,3)

  11.sort()数组排序(按字母顺序升序)

      myCars.sort();

  12.数字排序(按数字顺序升序/降序)

      var points = [40,100,1,5,25,10];

      points.sort(function(a,b){return a-b});升序

      points.sort(function(a,b){return b-a});降序

  13.toString()转换数组到字符串

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title></title>
		<script>
			var arr=new Array();
			arr[0]="saab";
			arr[1]="volvo";
			arr[2]="BMW";
			//alert(arr)
			var b=new Array("saab","volvo","BMW")
			var c=["saab","volvo","BMW"]
			//alert(b)
			//alert(c[2])
			var stu={stuid:1002,
			    stuname:"zhangsan",
				testfun:function(){
					alert("自定义对象")
				}}
				var arr1=new Array();
				arr1[0]=1;
				arr1[1]="hello";
				arr1[2]=true;
				arr1[3]=stu
			//alert(arr1[3].stuid)
			//alert(arr1.length)
			var res=arr1.concat(arr)
			//alert(res.length)
			var str=arr1.join()//把数组的元素转换成字符串
			//alert(str.length)//验证是不是字符串。
			var shan1=arr.pop();//删除数组最后一个元素
			//alert(arr.length)
			var shan2=arr1.shift()//删除数组第一个元素
			//alert(arr1.length)
			var zeng1=arr.push("hello","nihao")//数组末尾添加新元素,可添加多个
			//alert(arr)
			var zeng2=arr1.unshift(1,2,3)//数组开头添加新元素,可添加多个
			//alert(arr1.length)
			var zeng3=arr.splice(2,0,1,2)
			//alert(arr.length)
			var arr2=new Array(1,2,3,4,5,6)
			var fan=arr2.reverse()//将数组中的元素顺序反转排序
			//alert(arr2)
			var select=arr2.slice(1,4)//从一个数组中截取元素
			//alert(select)
			var arr3=new Array("ban","apple","cat","eye","dog")
			var zimu=arr3.sort()//按首字母顺序排序
			//alert(zimu)
			var zim=arr3.sort().reverse()//按首字母逆序排序
			//alert(zim)
			var arr4=[120,60,35,72,260,98]
			var shen=arr4.sort(function(a,b){return a-b})//升序
			var jiang=arr4.sort(function(a,b){return b-a})//降序
			//alert(shen)
			//alert(jiang)
			var lei=arr4.toString()//将数组转换成字符串
			alert(lei.length)
		</script>
	</head>
	<body>
	</body>
</html>

 

版权声明:本文为weixin_52188375原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/weixin_52188375/article/details/109772752

智能推荐

java乐观锁和悲观锁最底层的实现

1. CAS实现的乐观锁 CAS(Compare And Swap 比较并且替换)是乐观锁的一种实现方式,是一种轻量级锁,JUC 中很多工具类的实现就是基于 CAS 的,也可以理解为自旋锁 JUC是指import java.util.concurrent下面的包, 比如:import java.util.concurrent.atomic.AtomicInteger; 最终实现是汇编指令:lock...

Python 中各种imread函数的区别与联系

  原博客:https://blog.csdn.net/renelian1572/article/details/78761278 最近一直在用python做图像处理相关的东西,被各种imread函数搞得很头疼,因此今天决定将这些imread总结一下,以免以后因此犯些愚蠢的错误。如果你正好也对此感到困惑可以看下这篇总结。当然,要了解具体的细节,还是应该 read the fuc...

用栈判断一个字符串是否平衡

注: (1)本文定义:左符号:‘(’、‘[’、‘{’…… 右符号:‘)’、‘]’、‘}’……. (2)所谓的字符串的符号平衡,是指字符串中的左符号与右符号对应且相等,如字符串中的如‘(&r...

JAVA环境变量配置

位置 计算机->属性->高级系统设置->环境变量 方式一 用户变量新建path 系统变量新建classpath 方式二 系统变量 新建JAVA_HOME,值为JDK路径 编辑path,前加 方式三 用户变量新建JAVA_HOME 此路径含lib、bin、jre等文件夹。后运行tomcat,eclipse等需此变量,故最好设。 用户变量编辑Path,前加 系统可在任何路径识别jav...

常用的伪类选择器

CSS选择器众多 CSS选择器及权重计算 最常用的莫过于类选择器,其它的相对用的就不会那么多了,当然属性选择器和为类选择器用的也会比较多,这里我们就常用的伪类选择器来讲一讲。 什么是伪类选择器? CSS伪类是用来添加一些选择器的特殊效果。 常用的为类选择器 状态伪类 我们中最常见的为类选择器就是a标签(链接)上的为类选择器。 当我们使用它们的时候,需要遵循一定的顺序问题,否则将可能出现bug 注意...

猜你喜欢

ButterKnife的使用介绍及原理探究(六)

前面分析了ButterKnife的源码,了解其实现原理,那么就将原理运用于实践吧。 github地址:       点击打开链接 一、自定义注解 这里为了便于理解,只提供BindView注解。 二、添加注解处理器 添加ViewInjectProcessor注解处理器,看代码, 这里分别实现了init、getSupportedAnnotationTypes、g...

1.写一个程序,提示输入两个字符串,然后进行比较,输出较小的字符串。考试复习题库1|要求:只能使用单字符比较操作。

1.写一个程序,提示输入两个字符串,然后进行比较,输出较小的字符串。 要求只能使用单字符比较操作。 参考代码: 实验结果截图:...

小demo:slideDown()实现二级菜单栏下拉效果

效果如下,鼠标经过显示隐藏的二级菜单栏 但是这样的时候会存在一个问题,就是鼠标快速不停移入移出会导致二级菜单栏闪屏现象,一般需要使用stop()来清除事件  ...

基于docker环境的mysql主从复制

1、安装docker 可以参考之前的博客,之前写过了~ 2、拉取mysql镜像 3、创建mysql01和mysql02实例 主: 从: 4、进入容器修改配置 1)修改主数据库配置 进入主数据库容器 切换到 etc/mysql/目录下 查看可以看到my.cnf文件,使用vim编辑器打开,但是需要提前安装 安装vim命令: 安装成功后,修改my.cnf文件 新增配置后的my.cnf: binlog 日...

机器学习算法之决策树

原文:http://www.jianshu.com/p/6eecdeee5012 决策树是一种简单高效并且具有强解释性的模型,广泛应用于数据分析领域。其本质是一颗由多个判断节点组成的树,如: 决策树 在使用模型进行预测时,根据输入参数依次在各个判断节点进行判断游走,最后到叶子节点即为预测结果。 如何构造决策树 决策树算法的核心是通过对数据的学习,选定判断节点,构造一颗合适的决策树。 假设我们从用户...