关于HarmonyOS的学习

day15

一、debugger

是js代码调试的一种方式 可以浏览器的source选项里面进行代码调试 在对应的代码的序号前面打断点,就可以让代码执行到这里的时候进入调试默认,可以看到代码的执行过程 打了断点后,直接刷新浏览器,可以进入这个调试模式

二、函数

1.function函数 函数是一个引用数据类型 => 可以把反复使用的功能代码进行封装,达到多次使用的目的 => 函数可以让代码实现复用 可以把函数理解为一个工具,方便代码的开发和代码的管理 function 函数名称(形参1, 形参2, ...){ 功能代码 } 函数名称(实参1, 实参2,...) 说明 => function是系统关键字,表示的就是函数的意思 => function关键字后面的函数名称的括号里面放的是形参 => 单独的函数名称括号里面放的是实参 => 声明了函数,如果不调用的话,那么函数不会自己执行 => 调用函数的方式,是直接使用函数名称加括号

2.函数参数 ​ => 形参:就是形式上的参数,相当于是一个变量,起了一个占位的作用 ​ => 实参:就是最终需要使用的数据,实参可以是任意数据类型 ​ => 参数默认值,是ES6新增的。可以给形参设置一个默认值,当你没有传递参数的时候可以使用默认值 ​ + 注意点 ​ => 形参和实参需要一一对应 ​ => 形参不要重复,不然后面的会把前面的给覆盖掉

参数默认值,是ES6新增的。可以给形参设置一个默认值,当你没有传递参数的时候可以使用默认值 ​ function fn(name='admin'){ ​ document.write('<h1>欢迎,'+name+'</h1>') ​ } ​ fn('张涛') ​ fn()

3.函数调用 ​ => 函数名称加括号 ​ => 通过事件调用函数 函数分类 => 命名函数 => 匿名函数,就是函数没有名称,称之为匿名函数 自执行函数 IIFE(立即执行函数) => 函数可以自己调用,不需要通过其他的方式来调用 语法 => (function(){})() => (function(){}()) => !function(){}() => ~function(){}()

4.自执行函数

注意点:这里报错的原因是由于两个函数之间没有分号,会把两个函数解析成一个来执行,导致语法错误 ;(function(){ console.log('hello1') })()

三、计算两个文本框之和

<input type="text" id="txt1" value=""> ​ + ​ <input type="text" id="txt2" value=""> ​计算

<script>
    /*
        需求:
        + 点击计算按钮的时候,把第一个和第二个文本框数值相加的结果以弹窗的形式展示
        分析
        + 点击按钮,可以使用html提供的onclick属性来调用函数
        + 怎么拿到文本框?通过id方式直接拿到
        + 文本框里面值是存储在哪里的?存储value里面的
        + 怎么拿到文本框的值呢?文本框.value
        + 文本框里面的值的类型是字符串
        问题
        + 在输入框里面输入内容在获取文本框的值的后面,因此拿不到
        + 解决方案
          => 可以把获取放在函数内部,当你输入完值后,再通过事件调用函数就可以拿到值了
    */ 
    function getSum(){
        // console.log(txt1.value, txt2.value)
        alert(Number(txt1.value) + Number(txt2.value))
    }
</script>

四、获取元素

1.第一种:直接给标记取名称,在js里面使用

2.第二种:document.gerElementById(),在网页中通过id的 方式获取元素,参数要求是字符串

3.以上两种的区别: => 第一种方式最早出现IE浏览器里面的,而其他的浏览器是不支持的 => 第二种方式是所有浏览器都支持的,兼容性也比较好 => 第一种方式其他浏览器也是后面版本升级了才慢慢的支持的,并不代表所有浏览器都支持它 => 因此推荐使用第二种方式

4.ES5新增的js选择器 document.querySelector() => 获取单个元素的 => 如果是多个元素的话,默认只获取第一个 document.querySelectorAll() => 获取多个元素的 这两个选择器里面支持css选择器的写法

通过class形式获取元素 console.log(document.getElementsByClassName('btn2')[0]) 通过标记名称获取所有相同的标记 console.log(document.getElementsByTagName('li'))

五、return

1.函数规则 默认函数内部的数据函数外部是无法访问的

2.函数返回值 是函数默认隐含的一个参数,你可以使用它,也可以不使用它,选择权在你手里 你可以把return理解为是函数内部与外界沟通的一个"桥梁" => 可以把函数内部的数据返回给函数的外部使用 => 可以终止函数的执行

3.外界接收返回的数据的方式 => 外界必须使用函数名称加括号的形式接收内部的数据 为什么外界需要使用函数名加括号这种形式来接收内部的数据? => 为了解决命名冲突问题 => 这样做既可以解决命名冲突问题,还可以表示函数调用,一举两得 注意点 => 当一个函数没有返回值的时候,你去接收,返回是一个undefined

六、return的使用

1.求两个数的最大值 ​ function getMax(a, b){ ​ if(a>b){ ​ return a ​ }else{ ​ return b ​ } ​ } ​ console.log(getMax(10, 20)) ​ document.write(getMax(20, 66)) ​ alert(getMax(10, 20))

2 var txt = document.querySelector('input') ​ function fn(){ ​ // 非空验证 ​ if(txt.value == ''){ ​ alert('亲,表单不能为空!') ​ return ​ } ​ console.log('后续代码') ​ }

七、选择器的封装(简化代码操作)

/*

js选择器

+ 参数

=> 参数1表示的是要获取的元素(支持css选择器)

=> 参数2表示你是否需要获取多个(可以传递一个true)

+ 注意点:

=> all如果不传递,那么all就是undefined,undefined进行判断肯定不满足条件,所以进入的else分支

=> 如果是获取单个,那么第二个参数可以传递一个false,或者不传递,不传递默认就是undefined和你传递false一样的效果

*/

function $(ele, all){

if(all){

return document.querySelectorAll(ele)

}else{

return document.querySelector(ele)

}

}

八、常用事件

1.onclick 点击事件(单击) onmouseover 当鼠标移入的时候 onmouseout 当鼠标移出的时候 onmousemove 当鼠标移动的时候(连续触发) onload 加载事件

2.事件绑定 把元素和事件结合起来 语法 :ele.事件名称 = function(){ 你的代码 }

3.onload加载事件:当网页中其他内容都加载完毕后,才去执行这个事件里面的代码 问题:html、css、js代码从上自下执行,如果遇到了script标记那么会先暂停执行其他的代码,先把js代码执行完毕后,再去执行其他的代码 console.log($('div'))

九、显示隐藏

<script> // 获取元素 var btn = $('button') var box = $('div') ​ // 绑定事件 ​ // btn.onclick = function(){ ​ // if(box.style.display == 'none'){ ​ // box.style.display = 'block' ​ // }else{ ​ // box.style.display = 'none' ​ // } ​ // }

// 开关小技巧:可以把判断条件作为两种状态,一个是开的状态、一个是关的状态

// 声明一个变量作为状态 ​ // var flag = true ​ // btn.onclick = function(){ ​ // if(flag){ ​ // box.style.display = 'block' ​ // flag = false ​ // }else{ ​ // box.style.display = 'none' ​ // flag = true ​ // } ​ // }

var flag = true ​ btn.onclick = function(){ ​ if(flag){ ​ box.style.height = '200px' ​ flag = false ​ }else{ ​ box.style.height = '0' ​ flag = true ​ } ​ } </script>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值