js01 js基本操作/计算整数的平方 ???
目录:
- 小实验要求
- 小实验思路
- 小实验效果展示
- 小实验源代码
- JS代码的3种引用方式
- 获取节点的4中方法
- 读取、写入值的三种方法
- 时间总汇
- 利用节点改变样式的方法
- 数据类型???
1要求
用户在文本框中输入数字,点击按钮,计算其平方
2 思路

3 效果展示



4 代码实现
1 <!DOCTYPE html> 2 <html> 3 <head> 4 <meta charset="UTF-8"> 5 <title>平方界面</title> 6 </head> 7 <script type="text/javascript"> 8 function pf() { 9 var text = document.getElementById("text"); // 获取文本框节点 10 var text_num = text.value; // 获取文本框的值 11 var result = document.getElementById("result"); // 获取span标签节点 12 if(isNaN(text_num)) { // 判断是否是一个数字 13 // 不是数字的处理 14 result.innerHTML = "请输入一个数字"; 15 result.style.color = 'red'; 16 }else { 17 // 是数字的处理 18 result.innerHTML = text_num * text_num; 19 result.style.color = 'green'; 20 } 21 } 22 </script> 23 <body> 24 <input type="text" placeholder="请输入一个数字" id="text" maxlength="10" /> 25 <input type="button" value="计算平方结果" id="button" onclick="pf()" /> 26 = 27 <span id="result"> 28 我是结果 29 </span> 30 </body> 31 </html>
5JS代码的三种引用方式
5.1 事件定义式
5.2 直接嵌入式
5.3 文件调用式
1 <!DOCTYPE> 2 <html> 3 <head> 4 <meta charset = "utf-8" /> 5 <meta name="Keywords" content="" /> 6 <mata name = "description" content = "" /> 7 <title>test</title> 8 <style> 9 *{ 10 margin: 0; 11 padding: 0; 12 } 13 </style> 14 15 <!-- 02 直接调用式 --> 16 <script type="text/javascript"> 17 function f() { 18 alert("直接嵌入式"); 19 } 20 </script> 21 22 <!-- 03 文件调用式 --> 23 <script type="text/javascript" src="js.js"></script> 24 </head> 25 <body> 26 27 <!-- 01 事件定义式 --> 28 <input type="button" value="点击测试01事件定义式" onclick="alert('事件定义式')" /> 29 <hr /> 30 <input type="button" value="点击测试02直接嵌入式" onclick="f()"> 31 <hr /> 32 <input type="button" value="点击测试03文件调用式" onclick="f1()"> 33 34 </body> 35 </html>
1 /** 2 * 3 * @authors Your Name (you@example.org) 4 * @date 2017-04-07 18:39:16 5 * @version $Id$ 6 */ 7 function f1() { 8 alert("文件调用式"); 9 }
注意1:将这两个代码文件放在一个文件夹里面进行测试
注意2:script标签里面的内容比body里面的内容先执行,事件只有在触发的时候才执行
6获取节点的四种方法
6.1 通过id获取节点,返回一个节点对象
document.getElementById("id名");
例:var box = document.getElementById("box");
6.2 通过类的名字获取节点,返回的是一堆元素(不兼容IE678)
document.getElementsByClassName("类名");
例:var b = document.getElementsByClassName("a");
6.3 通过标签名字获取节点,返回的是一堆元素(不兼容IE678)
document.getElementsByTagName("标签");
例:var c = document.getElementsByTagName("div");
6.4 通过名字属性来获取的节点
document.getElementsByName("名字属性的内容");
例:var d = document.getElementsByName("性别");
1 <!DOCTYPE> 2 <html> 3 <head> 4 <meta charset = "utf-8" /> 5 <meta name="Keywords" content="" /> 6 <mata name = "description" content = "" /> 7 <title>获取节点的4种方法</title> 8 <style> 9 *{ 10 margin: 0; 11 padding: 0; 12 } 13 </style> 14 </head> 15 <body> 16 <!-- #box --> 17 <div id="box" class="a"></div> 18 <div id="box1" class="a"></div> 19 <div id="box2" class="a"></div> 20 <div id="box3" class="a"></div> 21 <input type="radio" name="性别" /> 22 23 <script type="text/javascript"> 24 25 // 通过id获取节点,返回一个节点对象 26 var box = document.getElementById("box"); 27 // box.style.width = "50px"; 28 // box.style.height = "50px"; 29 // box.style.background = "red"; 30 31 // 通过类的名字获取节点,返回的是一堆元素(不兼容IE678) 32 var b = document.getElementsByClassName("a"); 33 34 //通过标签名字获取节点,返回的是一堆元素(不兼容IE678) 35 var c = document.getElementsByTagName("div"); 36 alert(c.length); 37 38 // 通过名字来获取的节点 39 var d = document.getElementsByName("性别"); 40 alert(d); 41 42 //在控制台输出box的相关内容 43 for(var key in box){ 44 console.log(key+"===="+box[key]) 45 }; 46 </script> 47 </body> 48 </html>
7读取、写入值的三种方法
7.1 innerHTML -->> 能够解析HTML语法
例:p.innerHTML = "<a href='https://www.juanpi.com/?utm=2846148' target='_blank' style='color:red'>卷皮网官网</a>";
7.2 innerText -->> 是直接以文本显示,不进行HTML语法解析
例:p.innerText = "<a href='https://www.juanpi.com/?utm=2846148' target='_blank' style='color:red'>卷皮网官网</a>"
7.3 value -->> 设定、读取元素的value属性内容
例:button.value = "重庆大足";
1 <!DOCTYPE> 2 <html> 3 <head> 4 <meta charset = "utf-8" /> 5 <meta name="Keywords" content="" /> 6 <mata name = "description" content = "" /> 7 <title>内容写入:innerHTML/innerText</title> 8 <style> 9 *{ 10 margin: 0; 11 padding: 0; 12 } 13 #text{ 14 /*鼠标放到文字上面会变成一个手*/ 15 cursor: pointer; 16 } 17 </style> 18 </head> 19 <body> 20 <p id="text">我是段落</p> 21 <hr /> 22 <input type="text" id="button" value="hello world"> 23 24 <script type="text/javascript"> 25 var p = document.getElementById("text"); 26 var button = document.getElementById("button"); 27 28 // 鼠标点击,实现内容变更 29 p.onclick = function(){ 30 31 // innerHTML能够解析HTML语法 32 p.innerHTML = "<a href='https://www.juanpi.com/?utm=2846148' target='_blank' style='color:red'>卷皮网官网</a>"; 33 34 console.log(p.innerHTML); 35 36 // innerText是直接以文本显示,不进行HTML语法解析 37 // p.innerText = "<a href='https://www.juanpi.com/?utm=2846148' target='_blank' style='color:red'>卷皮网官网</a>" 38 }; 39 button.onclick = function() { 40 button.value = "重庆大足"; // 设定按钮的value值 41 console.log(button.value); // 读取按钮的value值 42 // button.innerHTML = "大足石刻"; //有value属性的必须用value 43 } 44 45 </script> 46 </body> 47 </html>
注意:有value属性的元素,在进行读取和写入操作时只能使用第三种方式
8事件总汇
onmouseenter/onmouseover 鼠标划入触发
onmouseleave/onmouseout 鼠标划出触发
onmousemove 监听鼠标移动
onclick 单击
ondbclick 双击
onkeydown 按下某键
onkeyup 抬起某键
onkeypress 某键一直按下的时间
onblur 元素失去焦点
onfocus 元素获得焦点
onresize 大小改变
1 <!DOCTYPE> 2 <html> 3 <head> 4 <meta charset = "utf-8" /> 5 <meta name="Keywords" content="" /> 6 <mata name = "description" content = "" /> 7 <title>变量、数据类型、事件、事件绑定</title> 8 <style> 9 *{ 10 margin: 0; 11 padding: 0; 12 } 13 #box{ 14 width: 200px; 15 height: 200px; 16 background-color: red; 17 } 18 </style> 19 </head> 20 <body> 21 <div id="box"></div> 22 <input type="text" id="text" /> 23 24 <script type="text/javascript"> 25 /* 26 变量: 27 1 变量必须要声明 28 2 变量要赋值,不赋值就是undefined 29 变量的命名规范: 30 数字、字母、下划线 $ (不能用数字作为开头) 31 32 */ 33 var a = 1; //声明变量a,并且进行赋值 34 a = 123; 35 // alert(a); 36 // var b = 2, c = 3; //声明多个变量 37 38 // var 0a = 123; //变量名不能以数字开头 39 // alert(0a); 40 41 /* 42 js的6大数据类型: 43 1 Number------数字 44 2 String------字符串 45 3 Boolean-------布尔值 true、false 46 4 function------函数 47 5 undefined------未定义 48 6 Object-------对象 49 */ 50 var n = 100; 51 var s = "123"; 52 var b = true; 53 // var f = funtion(){alert(1)}; 54 var u = undefined; 55 var o = {}; 56 57 /* 58 事件: 59 onmouseenter/onmouseover 鼠标划入触发 60 onmouseleave/onmouseout 鼠标划出触发 61 onmousemove 监听鼠标移动 62 onclick 单击 63 ondbclick 双击 64 onkeydown 按下某键 65 onkeyup 抬起某键 66 onkeypress 某键一直按下的时间 67 onblur 元素失去焦点 68 onfocus 元素获得焦点 69 onresize 大小改变 70 */ 71 72 var box = document.getElementById("box"); 73 box.onclick = function(){ 74 // alert("hello"); 75 }; 76 box.onmousemove = function(){ 77 console.log(1); 78 }; 79 80 var inp = document.getElementById("text"); 81 inp.onblur = function(){ 82 console.log("hello"); 83 }; 84 85 window.onresize = function(){ 86 console.log("change"); 87 }; 88 89 </script> 90 </body> 91 </html>
9利用节点改变样式的方法
9.1 通过选择器来改变样式
例:box.id = "on";
9.2 通过内联样式来改变样式
例:box.style.width = "120px";
例:box.style.backgroundColor = "skyblue";
9.3 多条样式
例:box.style.cssText = "width:120px; height:120px; background-color:red;margin-top:50px";
例:box.style.cssText += "width:120px; height:120px; background-color:red;margin-top:50px";
1 <!DOCTYPE> 2 <html> 3 <head> 4 <meta charset = "utf-8" /> 5 <meta name="Keywords" content="" /> 6 <mata name = "description" content = "" /> 7 <title>样式的控制</title> 8 <style> 9 *{ 10 margin: 0; 11 padding: 0; 12 } 13 #on{ 14 width: 150px; 15 height: 150px; 16 background-color: red; 17 } 18 .on{ 19 border-radius: 60px; 20 } 21 </style> 22 </head> 23 <body> 24 <div id="box" class="box" style="border-radius: 10px"></div> 25 26 <script type="text/javascript"> 27 var box = document.getElementById("box"); 28 29 // 通过选择器来改变样式 30 // box.id = "on"; 31 // box.className = "on"; 32 33 // 通过内联样式来改变样式 34 // box.style.width = "120px"; 35 // box.style.height = "120px"; 36 37 // box.style.backgroundColor = "skyblue"; 38 // box.style["background-color"] = "blue" 39 // box.style.marginTop = "50px"; 40 41 // 多条样式 42 box.style.cssText = "width:120px; height:120px; background-color:red;margin-top:50px"; 43 // box.style.cssText += "width:120px; height:120px; background-color:red;margin-top:50px"; 44 45 // float浮动 46 box.style.cssFloat = "right"; 47 </script> 48 </body> 49 </html>
10数据类型 -->> 实际开发时查手册
重点地方待更新...
1 <!DOCTYPE> 2 <html> 3 <head> 4 <meta charset = "utf-8" /> 5 <meta name="Keywords" content="" /> 6 <mata name = "description" content = "" /> 7 <title>数据类型:Number/String/Boolean</title> 8 <style> 9 *{ 10 margin: 0; 11 padding: 0; 12 } 13 </style> 14 </head> 15 <body> 16 17 18 <script type="text/javascript"> 19 /* 20 js的6大基本类型 21 Number---数字 22 String---字符串 23 Boolean---布尔值 24 undefined---未定义 25 function---函数:function(){}; 26 Object---对象:[] {} 27 */ 28 // var a = {}; 29 // alert(typeof a); //弹出变量a的数据类型 30 31 /* 32 =======Number======= 33 数字:js不分整数、小数 34 范围:-2^53 到 2^52 35 */ 36 var x = 1 + undefined; 37 // alert(typeof x); 38 // alert(Number(undefined)) 39 // alert(x); 40 // alert(x==x); //NaN不等于自身 41 // alert(x!=x); 42 43 //Number() //构造函数---参数中必须能被转换为数字,否则返回NaN 44 // var n = Number("5"); 45 var n = Number("a"); 46 // alert(n); 47 48 // parseInt("456.789") --> 取整函数,遇到非数字就停止,如果第一个就不是一个数字就返回NaN 49 // alert(parseInt("456.789")); 50 // alert(parseInt("4456a89")); 51 // alert(parseFloat("1234.1234")); 52 // alert(parseFloat("123.121234").toFixed(1)); //保留小数位数设置 53 54 /* 55 Math -> 是一个对象,可以引用其函数 56 */ 57 var m; 58 m = Math.pow(16, 2); //平方 59 m = Math.round(0.59); //四舍五入 60 m = Math.ceil(0.1); //向上取整 61 m = Math.floor(0.1); //向下取整 62 m = Math.max(1,2,3,4,5); 63 m = Math.min(1,2,3,4,5); 64 m = Math.random(); //0到1的一个随机数 65 m = Math.random() * 100; 66 m = (Math.random() * 30 + 20).toFixed(1); 67 // alert(m); 68 // alert(m.length); //注意number没有长度 69 70 /* 71 =======String======= 72 字符串:单引号或双引号 引起来 73 .substring 字符截取 74 .slice 切片 75 .indexOf 寻找文本 76 .split 文本分割 77 .toUpperCase 转大写 78 .toLowerCase 转小写 79 substirng的参数为负数的时候回看做0,如果第一个参数大于第二个参数回自动进行交换,取不到会返回空 80 */ 81 var s = 'warrior'; 82 // alert(s[0]); //截取单个字符 83 // alert(s.charAt(1)); 84 85 var s1 = "furyhappydakwarrior"; 86 // alert(s1.substring(4,9)); //截取一个字符串 87 88 /* 89 slice切片 90 参数1:截取的开始位置 91 参数2:截取的结束位置 92 负数倒着数 93 不会自动交换位置 94 取不到会返回空 95 */ 96 var s2 = "helloworldwarriorworld" 97 // alert(s2.slice(5, 10)); 98 99 /* 100 str.indexOf("查找的文本", 开始位置); 101 */ 102 // alert(s2.indexOf("world",s2.indexOf("world") + 1)); 103 104 /* 105 str.split("") 文本分割,返回一个数组 106 */ 107 var s3 = "1 2 3 4 5"; 108 var arr = []; 109 arr = s3.split(" "); 110 // alert(arr); 111 // alert(arr.length); 112 113 var s4 = "myname"; 114 // alert(s4.toUpperCase()); 115 var s4 = "fury"; 116 // alert(s3 + s4); 117 118 /* 119 ======Boolean====== 120 当要判断一个值是不是等于另外一个值就会用到 121 true、false 122 会被判断为false的值: 123 false undefined NaN null 0 "" 124 */ 125 // alert(Boolean(null)); 126 // alert(Number(true)); //ture转数字是1 127 // alert(Number(false)); //false转数字是0 128 129 var a = 3; 130 if (3 == a) { 131 // alert("3 == a"); 132 } 133 if (0 != a) { 134 // alert("a不等于0"); 135 } 136 if (3) { 137 // alert("执行if语句"); 138 } 139 140 /* 141 ======null undefined====== 142 null是一个关键字----类似于正确空值的填补 143 undefined是一个预先定义的全局变量,他不是关键字,类似于错误空值的填补 144 */ 145 // alert(1 + undefined); //NaN 146 // alert(1 + null); //1 147 // alert(null == undefined); //true 148 //因为null和undefined在做真假判断的时候 都为假 149 alert(typeof null); //object 150 alert(typeof undefined); //undefined 151 </script> 152 </body> 153 </html>
浙公网安备 33010602011771号