您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 咨询培训 > javascript基本语法记录-入门知识
1、defer:延迟脚本,脚本会被延迟到整个页面都解析完毕后再运行(scripttype=text/javascriptdefer=defersrc=example2.js/script)2、async:异步脚本,async属性的目的是不让页面等待两个脚本下载和执行,从而异步加载页面其他内容。(scripttype=text/javascriptasyncsrc=example1.js/script)3、typeof:检测给定变量的数据类型对一个值使用typeof操作符可能返回下列某个字符串:undefined——如果这个值未定义;boolean——如果这个值是布尔值;string——如果这个值是字符串;number——如果这个值是数值;object——如果这个值是对象或nullfunction——如果这个值是函数。typeof操作符的例子:varmessage=somestring;alert(typeofmessage);//stringalert(typeof(message));//stringalert(typeof95);//number4、Boolean:该类型只有两个字面值:true和falsevarmessage=Helloworld!;if(message){alert(Valueistrue);}运行这个示例,就会显示一个警告框,因为字符串message被自动转换成了对应的Boolean值(true)5、数值转换:有3个函数可以把非数值转换为数值:Number()parseInt()和parseFloat()。第一个函数,即转型函数Number()可以用于任何数据类型,而另两个函数则专门用于把字符串转换成数值。varnum1=Number(Helloworld!);//NaNvarnum2=Number();//0varnum3=Number(000011);//11varnum4=Number(true);//1varnum1=parseInt(1234blue);//1234varnum2=parseInt();//NaNvarnum3=parseInt(0xA);//10(十六进制数)varnum4=parseInt(22.5);//22varnum5=parseInt(070);//56(八进制数)varnum6=parseInt(70);//70(十进制数)varnum7=parseInt(0xf);//15(十六进制数)如果知道要解析的值是十六进制格式的字符串,那么指定基数16作为第二个参数,可以保证得到正确的结果,例如:varnum=parseInt(0xAF,16);//175实际上,如果指定了16作为第二个参数,字符串可以不带前面的0x,如下所示:varnum1=parseInt(AF,16);//175varnum2=parseInt(AF);//NaNvarnum1=parseInt(10,2);//2(按二进制解析)varnum2=parseInt(10,8);//8(按八进制解析)varnum3=parseInt(10,10);//10(按十进制解析)varnum4=parseInt(10,16);//16(按十六进制解析)varnum1=parseFloat(1234blue);//1234(整数)varnum2=parseFloat(0xA);//0(十六进制格式的字符串则始终会被转换成0。由于parseFloat()只解析十进制值)varnum3=parseFloat(22.5);//22.5varnum4=parseFloat(22.34.5);//22.34varnum5=parseFloat(0908.5);//908.5varnum6=parseFloat(3.125e7);//312500007、toString():要把一个值转换为一个字符串varage=11;varageAsString=age.toString();//字符串11varfound=true;varfoundAsString=found.toString();//字符串true通过传递基数,toString()可以输出以二进制、八进制、十六进制,乃至其他任意有效进制格式表示的字符串值。下面给出几个例子:varnum=10;alert(num.toString());//10alert(num.toString(2));//1010alert(num.toString(8));//12alert(num.toString(10));//10alert(num.toString(16));//a7.一元操作符:varnum1=2;varnum2=20;varnum3=--num1+num2;//等于21varnum4=num1+num2;//等于21varnum1=2;varnum2=20;varnum3=num1--+num2;//等于22varnum4=num1+num2;//等于21vars1=2;vars2=z;varb=false;varf=1.1;varo={valueOf:function(){return-1;}};s1++;//值变成数值3s2++;//值变成NaNb++;//值变成数值1f--;//值变成0.10000000000000009(由于浮点舍入错误所致)o--;//值变成数值-2vars1=01;vars2=1.1;vars3=z;varb=false;varf=1.1;varo={valueOf:function(){return-1;}};s1=+s1;//值变成数值1s2=+s2;//值变成数值1.1s3=+s3;//值变成NaNb=+b;//值变成数值0f=+f;//值未变,仍然是1.1o=+o;//值变成数值-1vars1=01;vars2=1.1;vars3=z;varb=false;varf=1.1;varo={valueOf:function(){return-1;}};s1=-s1;//值变成了数值-1s2=-s2;//值变成了数值-1.1s3=-s3;//值变成了NaNb=-b;//值变成了数值0f=-f;//变成了-1.1o=-o;//值变成了数值18、布尔操作符:(1)、逻辑非:alert(!false);//truealert(!blue);//falsealert(!0);//truealert(!NaN);//truealert(!);//truealert(!12345);//fals(2)、逻辑与:varresult=true&&false;//falsevarresult=false&&false;//falsevarresult=false&&true;//falsevarresult=true&&true;//true(3)、逻辑或:varresult=true||false;//truevarresult=flase||true;//truevarresult=flase||false;//falsevarresult=flase||true;//true9、加性操作符:varresult1=5+5;//两个数值相加alert(result1);//10varresult2=5+5;//一个数值和一个字符串相加alert(result2);//55varnum1=5;varnum2=10;varmessage=Thesumof5and10is+num1+num2;alert(message);//Thesumof5and10is510varnum1=5;varnum2=10;varmessage=Thesumof5and10is+(num1+num2);alert(message);//Thesumof5and10is1510、减性操作符:varresult1=5-true;//4,因为true被转换成了1varresult2=NaN-1;//NaNvarresult3=5-3;//2varresult4=5-;//5,因为被转换成了0varresult5=5-2;//3,因为2被转换成了2varresult6=5-null;//5,因为null被转换成了011、关系操作符:varresult=Brickalphabet;//true字母B的字符编码为66,而字母a的字符编码是97varresult=Brick.toLowerCase()alphabet.toLowerCase();//false把两个操作数转换为相同的大小写形式(全部大写或全部小写)varresult=233;//true两个操作数都是字符串,而字符串比较的是字符编码(2的字符编码是50,而3的字符编码是51)varresult=233;//false字符串23会被转换成数值23,然后再与3进行比较varresult=a3;//false,因为a被转换成了NaN12、全等和不全等:varresult1=(55==55);//true,因为转换后相等varresult2=(55===55);//false,因为不同的数据类型不相等varresult1=(55!=55);//false,因为转换后相等varresult2=(55!==55);//true,因为不同的数据类型不相等12、条件操作符:variable=boolean_expression?true_value:false_value;本质上,这行代码的含义就是基于对boolean_expression求值的结果,决定给变量variable赋什么值。如果求值结果为true,则给变量variable赋true_value值;如果求值结果为false,则给变量variable赋false_value值。varmax=(num1num2)?num1:num2;在这个例子中,max中将会保存一个最大的值。这个表达式的意思是如果num1大于num2(关系表达式返回true),则将num1的值赋给max;如果num1小于或等于num2(关系表达式返回false),则将num2的值赋给max。13、for-in语句:for-in语句是一种精准的迭代语句,可以用来枚举对象的属性。for(varpropNameinwindow){document.write(propName);}每次执行循环时,都会将window对象中存在的一个属性名赋值给变量propName。14、break和continue语句break:varnum=0;for(vari=1;i10;i++){if(i%5==0){break;}num++;}alert(num);//4例子中的for循环会将变量i由1递增至10。在循环体内,有一个if语句检查i的值是否可以被5整除(使用求模操作符)。如果是,则执行break语句退出循环。另一方面,变量num从0开始,用于记录循环执行的次数。在执行break语句之后,要执行的下一行代码是alert()函数,结果显示4。也就是说,在变量i等于5时,循环总共执行了4次;continue:varnum=0;for(vari=1;i10;i++){if(i%5==0){continue;}num++;}alert(num);//8例子的结果显示8,也就是循环总共执行了8次。当变量i等于5时,循环会在num再次递增之前退出,但接下来执行的是下一次循环,即i的值等于6的循环。于是,循环又继续执行,直到i等于10时自然结束。而num的最终值之所以是8,是因为continue语句导致它少递增了一次。15、with语句:主要是为了简化多次编写同一个对象的工作varqs=location.search.substring(1);varhostName=location.hostname;varurl=location.href;上面几行代码都包含location对象。如果使用wi
本文标题:javascript基本语法记录-入门知识
链接地址:https://www.777doc.com/doc-2880421 .html