JavaScript学习(1)
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Document</title> <script> // js代码 console.log(1 + 1) // 申明变量 var var x // 申明未赋值:默认值为undefined(None) console.log("x",x) x = 100 console.log("x",x) // 申明并赋值 var y = 100 console.log("y",y) // 一行赋多值 var a = 1, b = "zhangsan" console.log("a",a) console.log("b",b) // 求长度 console.log("b",b.length) // 大写小写 console.log(b.toUpperCase()) console.log(b.toLowerCase()) // 索引 console.log(b[3]) console.log(b.indexOf("a")) // 切片,顾头不顾尾 console.log(b.slice(1,4)) console.log(b.slice(-4,-1)) console.log(b.slice(3)) // 从序号为3一直取到最后 var s2 = "上海 北京 武汉" console.log(s2.split(" ")) // 拆分 ["上海", "北京", "武汉"] str = "hello world" console.log(str.substr(2,3)) // 从序号为2开始取,取3个 var password = " hello w " console.log(password.trim()) // 去除两端空格 // 布尔类型 var t = true console.log(t, typeof t) console.log(2 > 3) // false console.log(2 == "2") // true 会将字符串转换为数字 console.log(2 === "2") // false 三个等号表示全等,不进行数据类型转换 var box1 = "一共100个人" ret = parseInt(box1) console.log(ret, typeof ret) // NaN(Not a Number) "number" var box2 = "100个人" ret1 = parseInt(box2) console.log(ret1, typeof ret1) // 100 "number" var num = 100 console.log(num.toString(), typeof num.toString()) // 零值 /* 字符串的零值为空"" 数字的零值为0 布尔的零值为false 数组、字典没有零值 */ var box2 = 1 + "200" console.log(box2) // 1200 按照字符串拼接,类型为string var box3 = 1 - "200" console.log(box3) // -199 按照科学计算,类型为number var x = 1 // x += 1 ret1 = x++ // 先赋值再计算 ret2 = ++x // 先计算再赋值 console.log(x) // 3 console.log("ret1", ret1) // 1 console.log("ret2", ret2) // 3 //逻辑运算符 /* && 并且 and 两边的运算结果为true,最终结果才是true || 或者 or 两边的运算结果为false,最终结果才是false ! 非 not 运算符的结果如果是true,则最终结果是false ,反之亦然. */ var age = 17 console.log(age > 18?"成年":"未成年") // 相当于if,else判断age是否大于18,大于就输出成年,否则未成年 // if语句 var score = 78 if (score > 90){ console.log("成绩优秀") }else if(score > 80){ console.log("成绩良好") }else if(score > 60){ console.log("成绩及格") }else{ console.log("成绩不几个") } // switch分支 var week = 3 switch(week){ case 1:console.log("星期1");break case 2:console.log("星期2");break case 3:console.log("星期3");break case 4:console.log("星期4");break case 5:console.log("星期5");break case 6:console.log("星期6");break case 0:console.log("星期7");break default:console.log("非法输入") } // 循环语句 /* while循环: while(表达式){ 循环语句 } for循环: for (初始变量;条件判断;步进语句){ 循环语句 } */ var count = 1 while (count <= 100){ if (count === 88){ count++ continue // 退出档次循环 } console.log(count) count++ } // 三要素for循环 var s = 0 for (var i = 1; i <= 100; i ++){ console.log(i) s += i } console.log(s) // 遍历for循环 var lst = [1,2,3,4,5,6,7,8,9] for (var i in lst){ console.log(lst[i]) } // random = Math.round(Math.random() * 10) // console.log(random) // var time = 3 // while (time > 0){ // var ret = prompt("请输入数字:","默认值") // console.log(ret) // if (time ===1 && ret != random){ // console.log("都没才对,继续努力!") // }else{ // if (ret > random){ // console.log("太大了") // }else if (ret < random){ // console.log("太小了") // }else{ // console.log("恭喜您,猜对了!") // break // } // } // time-- // } var arr = [1,2,3,4,5] console.log(arr.push(6)) //在数组最后追加元素 console.log(arr.pop()) // 在数组结尾删除元素 console.log(arr.shift()) // 删除第一个元素 console.log(arr.unshift(100)) // 在最前面添加元素 console.log(arr.reverse()) // 倒排元素 console.log(arr.sort()) // 默认按照字符串排序 arr.sort(function(a,b){ return a - b }) // 按照数字大小排序,需要借用函数 console.log(arr) // Splice方法 console.log(arr.splice(2,2)) // 从序号为2开始删除总共删除2个元素 console.log(arr) arr.splice(1,0,6,7,8) // 当删除元素个数为0时,为添加元素,从需要为1的位置开始插入,插入元素6.7.8 console.log(arr) arr.splice(2,2,77,88) // 从索引为2的地方,替换2个元素为77,88 console.log(arr) var arr1 = [1,2,3] var arr2 = [4,5,6] var ret = arr1.concat(arr2) console.log(ret) // 拼接数组,arr1不变 // join方法 var arr3 = ["上海", "北京", "武汉"] var s = arr3.join(",") // 以,作为分隔符,拼接成字符串 console.log(s) // object对象 var obj = new Object() obj.name = "yuan" obj.age = 12 console.log(obj, typeof obj) var obj2 = { "name":"yuan", "age":22 } console.log(obj2, typeof obj2) console.log(obj2.name) console.log(obj2["name"]) for (var k in obj){ // 遍历对象元素 console.log(obj[k]) } var res = '[{"title":"西游记","price":100},{"title":"水浒传","price":200},{"title":"三国演义","price":300}]' var data = JSON.parse(res) // 反序列化 console.log(data) for (index in data){ book = data[index] console.log(book.title,book.price) } console.log(JSON.stringify(obj2)) // 序列化 {"name":"yuan","age":22} var now = new Date() console.log(now, typeof now) // Sat Jul 10 2021 15:18:33 GMT+0800 (中国标准时间) "object" console.log(now.toLocaleString()) // 2021/7/10下午3:18:33 var date = new Date("2004-3-20 11:12") console.log(date.toLocaleString()) // 2004/3/20上午11:12:00 console.log(date.getFullYear()) // 2004 console.log(date.getMonth()) // 2(月份从0-11) console.log(date.getDate()) // 20(日) console.log(date.getDay()) // 2(获取星期几) var date2 = new Date(50000000000) console.log(date2.toLocaleString()) // 1971/8/3上午12:53:20 console.log(date2.toUTCString()) // Mon, 02 Aug 1971 16:53:20 GMT // Math对象 console.log(Math.abs(-1.2)) // 1.2 绝对值 console.log(Math.ceil(3.14)) // 4 向上取整 console.log(Math.floor(3.14)) // 3 向下取整 console.log(Math.round(3.94)) // 4 四舍五入 console.log(Math.max(3.94,2,3,4,5,6)) // 6 最大值 console.log(Math.random()) // 0-1之间随机值 // 函数 /* 申明函数: function 函数名(参数,..){ 函数体 } 调用函数: foo() */ function foo(){ console.log("foo...") } foo() function add(x,y){ console.log(x + y) } add(1,2) function add2(){ // 不定义参数的时候,将所传的所有参数作为数组赋值给arguments var s = 0 for (var i in arguments){ s += arguments[i] } console.log(s) } add2(2,3,4,5,6) function foo(){ var x1 = 10 // 申明一个局部变量 x2 = 20 // 申请一个全局变量 } function bar(){ console.log("**",x2) // 20 可以打印 // console.log("**",x1) // 报错:x1 is not defined } foo() var ID = window.setInterval(bar,1000) // 每隔1s调用一次bar函数 console.log(ID) window.clearInterval(ID) // 取消定时器 var ID = window.setTimeout(bar,1000) // 1s后调用bar函数 function show(){ //获取时间字符串 var now = new Date() console.log(now.toLocaleString()) // 查找input标签对象 var ele = document.getElementById("i1") //将时间字符串赋值给input的value属性 ele.value = now.toLocaleString() } var timeid function start(){ if (timeid===undefined){ // 当等于undefined的时候才执行每秒调用show show() // 每隔1s执行一次show函数 timeid = setInterval(show,1000) } } function end(){ clearInterval(timeid) timeid = undefined // 停止循环定时器之后,将timeid重置为undefined,以便下一次点击start函数能匹配上 } </script> <!-- 引入方式2 --> <script src="demo.js"></script> </head> <body> <input type="text" value="" id="i1"> <input type="button" value="开始" onclick="start()"> <input type="button" value="结束" onclick="end()"> </body> </html>
posted on 2021-07-10 17:08 torotoise512 阅读(19) 评论(0) 收藏 举报
浙公网安备 33010602011771号