JavaScript day-01
//demo1
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>Insert title here</title> <!-- 嵌入式:在script标签里写js, 该标签可以放在网页的任意位置,但 通常放在head里较多. --> <script> //js注释可以是这样的 /* 也可以是这样的 */ //function是关键字,用来声明函数。 //f2是函数名,小括号内可以声明参数。 //打括号内是函数体。 //js中函数都是公有的,不需要修饰符。 //js的函数不需要声明返回值的类型。 function f2() { //js不区分单引号和双引号 alert("范传奇"); } </script> <!-- 文件调用式:在单独的js文件内写js, 需要引入到网页上才能使用. 1)该标签必须写成双标签,哪怕没有内容. 2)该标签不能既引入js又写js. --> <script src="my.js" ></script> </head> <body> <!-- 事件:用户在作出什么操作时调用js, 它就是调用js的时机,如单击onclick、双击ondbl等 --> <!-- 1.事件定义式 :在定义事件时直接写js --> <input type="button" value="按钮1" onclick="alert('苍老师');" /> <input type="button" value="按钮2" onclick="f2();"/> <input type="button" value="按钮3" onclick="f3();"/> </body> </html>
//demo2
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>Insert title here</title> <script type="text/javascript"> //1.将js封装成函数,点击某按钮时调用. //2.不把js封装成函数,直接在此处写js, //则这样的js在网页加载(执行)时立刻调用. //该js的执行时机甚至比body还早. //alert(1); console.log("控制台打印") //1.声明变量 var x; console.log(x); x = 3; console.log(x); var y = "hello" console.log(y); //2.隐式转换 var s = "hi"; var n = 3.14; var b = true; console.log(s+n); console.log(s+b); console.log(b+n); console.log(b+b); //3.强制转换 console.log(n.toString()+1); console.log(parseInt(n)); console.log(parseInt("5.6")); console.log(parseInt("abc")); console.log(parseFloat(5.6)); //typeof console.log(typeof(n)); console.log(isNaN("56")); console.log(isNaN("abc")); console.log(isNaN("a56")); //4.运算符 console.log(5/2); var m = "3"; var n = 3; console.log(m==n); console.log(m===n); //5.条件表达式 //js中可以用任意数据作条件, //当使用非布尔值作条件时,所有的 //空值都等价于false,非空值等于true. //空值:null/0/""/undefined/NaN //这样设置的目的是为了让条件表达式简单. var k = 9; if(k){ console.log("ok"); } k && console,log("yes"); </script> </head> <body> <p>js语法和java十分相似</p> </body> </html>
//demo3
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>Insert title here</title> <script type="text/javascript"> function pf() { //获取文本框 var input = document.getElementById("num"); console.log(input); //获取框内的值 var n = input.value; console.log(n); //获取span var span = document.getElementById("result"); //判断该值是否为数字 if(isNaN(n)){ //不是数字,给予提示 span.innerHTML = "请输入数字"; }else { //是数字,计算平方 span.innerHTML = n*n; } } </script> </head> <body> <input type="text" id="num"/> <input type="button" value="平方" onclick="pf();"/> = <span id="result"></span> </body> </html>
//demo4
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>Insert title here</title> <script type="text/javascript"> /* 网页加载时直接生成随机数, 该数在body加载前就有了,所以 用户点击猜时在对应函数内可以用*/ //0<=x<1 -> 0<=100x<100 ,0....99 var ran = parseInt(Math.random()*100); console.log(ran); /* 无论此函数写在前面还是写在这里,它都是 在用户点击按钮时调用的,它都比生成 随机数执行的晚.*/ function guess(){ //获取文本框里的值 var n = document.getElementById("num").value; //获取span var span = document.getElementById("result"); //判断该值是否为数字 if(isNaN(n)){ //不是数字,给予提示 span.innerHTML = "请输入数字"; }else { //是数字,和随机数比较 if(n<ran){ span.innerHTML = "小了"; }else if (n>ran) { span.innerHTML = "大了"; }else { span.innerHTML = "dui le"; } } } </script> </head> <body> <input type="text" id="num"/> <input type="button" value="猜" onclick="guess();"/> <span id="result"></span> </body> </html>
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>Insert title here</title> <script> function jc(){ //获取文本框里的值 var n = document.getElementById("num").value; //获取span标签 var span = document.getElementById("result"); //判断该值是不是数字 if(isNaN(n)){ span.innerHTML = "请输入数字"; }else { if(n<0){ span.innerHTML = "负数没有阶乘"; }else if(n==0){ span.innerHTML = 1; }else{ var s = 1; for(var i = n;i;i--){ //使用i可以做条件,当i递减到0的时候 //就相当于false,则循环终止 s *= i; } span.innerHTML = s; } } } </script> </head> <body> <p>n(正整数)的阶乘=1*2*3*...*n</p> <p>0的阶乘固定为1</p> <p> <input type="text" id="num"/> <input type="button" value="阶乘" onclick="jc();"/> =<span id="result"></span> </p> </body> </html>