当前位置: 首页 > news >正文

做会计需要了解的网站及软件免费推广的app有哪些

做会计需要了解的网站及软件,免费推广的app有哪些,网站建设费 科研 设备费,django 做的网站文章目录 概要整体架构流程技术名词解释技术细节小结 概要 什么是 JavaScript? JavaScript 是一种脚本,一门编程语言,它可以在网页上实现复杂的功能,网页展现给你的不再是简单的静态信息,而是实时的内容更新&#xf…

文章目录

    • 概要
    • 整体架构流程
    • 技术名词解释
    • 技术细节
    • 小结

概要

什么是 JavaScript?

JavaScript 是一种脚本,一门编程语言,它可以在网页上实现复杂的功能,网页展现给你的不再是简单的静态信息,而是实时的内容更新,交互式的地图,2D/3D 动画,滚动播放的视频等等。JavaScript 怎能缺席。它是标准 Web 技术蛋糕的第三层,其中 HTML 和 CSS 我们已经在学习中心的其他部分进行了详细的讲解

  • HTML是一种标记语言,用来结构化我们的网页内容并赋予内容含义,例如定义段落、标题和数据表,或在页面中嵌入图片和视频。
  • CSS 是一种样式规则语言,可将样式应用于 HTML 内容,例如设置背景颜色和字体,在多个列中布局内容
  • JavaScript是一种脚本语言,可以用来创建动态更新的内容,控制多媒体,制作图像动画,还有很多。(好吧,虽然它不是万能的,但可以通过简短的代码来实现神奇的功能。)

这三层依次建立,秩序井然。

整体架构流程

技术名词解释

变量是什么?

一个变量,就是一个用于存放数值的容器。这个数值可能是一个用于累加计算的数字,或者是一个句子中的字符串。变量的独特之处在于它存放的数值是可以改变的。

  • number类型的变量,在需要转换成boolean类型时, 如果值为0或者NaN,则转换成false,否则为true

  • string类型的变量,在需要转换成boolean类型时, 如果值为''空字符串,则转换成false,否则为true

  • null和undefined都会转换成false

//1.数据类型和变量let a=3console.log(typeof a)//numbera='abc'console.log(typeof a)//stringa=trueconsole.log(typeof a)//booleana=nullconsole.log(typeof a)//nullaconsole.log(typeof a)//undefinedlet bconsole.log(typeof b)//2.数据类型转换let age=undefinedif(age){console.log(1)}else{console.log(0)}

数组是什么?

数组通常被描述为“像列表一样的对象”; 简单来说,数组是一个包含了多个值的对象。数组对象可以存储在变量中,并且能用和其他任何类型的值完全相同的方式处理,区别在于我们可以单独访问列表中的每个值,并使用列表执行一些有用和高效的操作,如循环 - 它对数组中的每个元素都执行相同的操作。也许我们有一系列产品和价格存储在一个数组中,我们想循环遍历所有这些产品,并将它们打印在发票上,同时将所有产品的价格统计在一起,然后将总价格打印在底部。

如果我们没有数组,我们必须将每个产品存储在一个单独的变量中,然后调用打印的代码,并为每个产品单独添加。花费的时间要长得多,效率很低,而且也容易出错。如果我们有 10 个产品需要添加发票,那就只是有点麻烦而已,但是 100 个,或者 1000 个呢?

//1.简单数组let arr1=[1,2.5,'a',true,null,undefined,null];console.log(arr1.length)//2.复杂的数组let arr2=[{id:1,name:'曹操',age:40},{id:2,name:'刘备',age:41},{id:3,name:'孙权',age:42},]

什么是函数?

在 JavaScript 中另一个基本概念是函数, 它允许你在一个代码块中存储一段用于处理单任务的代码,然后在任何你需要的时候用一个简短的命令来调用,而不是把相同的代码写很多次。在本文中,我们将探索函数的基本概念,如基本语法、如何定义和调用、范围和参数。

函数的定义

您在过去的课程中还看到很多定制功能 - 在代码中定义的功能,而不是在浏览器中。每当您看到一个自定义名称后面都带有括号,那么您使用的是自定义函数。

//函数的2种常用的定义方式function f1(){console.log('f1函数')}let f2=function(){console.log('f2函数')}console.log(arr1)console.log(arr2)//3.数组的遍历arr2.forEach(function(e,i){console.log(e,i)})//简化为 箭头函数的表现形式arr2.forEach((e,i)=>{console.log(e,i)})//4.数组的筛选,原数组不会被改变,筛选出来的结果返回到新数组中let arr3 = arr2.filter((e,i)=>{return e.age<42})console.log(arr3)

JS-dom操作

事件是发生在你正在编程的系统中的事情——当事件发生时,系统产生(或“触发”)某种信号,并提供一种机制,当事件发生时,可以自动采取某种行动(即运行一些代码)。事件是在浏览器窗口内触发的,并倾向于附加到驻留在其中的特定项目。这可能是一个单一的元素,一组元素,当前标签中加载的 HTML 文档,或整个浏览器窗口。有许多不同类型的事件可以发生。

<p>

        什么是dom操作?和html进行交互<br>

        1.获取html标签,返回一个元素对象<br>

        2.设置值<br>

    </p>

    <input id="input1" type="text" value="aa">

    <ul id="ul1">

        <li>1-a-12</li>

        <li>2-b-13</li>

        <li>3-c-14</li>

    </ul>

    <button οnclick="changeText()">替换按钮</button>

    <ul>

        <li>onclick属性表示一个点击事件属性</li>

        <li>onclick属性值是一个函数名称()</li>

        <li>表示一旦点击该按钮,就调用这个函数</li>

    </ul>

JS代码:

//1.单个的设置

    //1.1获取

    let input1=document.getElementById('input1')

    //1.2设置值

    input1.value='曹操'

    //2.批量的设置

    let arr2=[

        {id:1,name:'曹操',age:40},

        {id:2,name:'刘备',age:41},

        {id:3,name:'孙权',age:42},

    ]

    //2.1获取ul

    let ul1=document.getElementById('ul1')

    function changeText(){

        //2.2替换

    let s=''

    arr2.forEach((e)=>{

        s+=`<li>${e.id}-${e.name}-${e.age}</li>`

    })

    ul1.innerHTML=s

    }

技术细节

炫酷的js动画:

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>心动的感觉</title><style>/* 定义动画 */@keyframes jump{from{transform: scale(0.5);opacity: 0.5;}to{transform: scale(2.0);opacity: 1;}}/* 定义一个iou旋转动画 */@keyframes circles{from{transform: rotate(0deg);z-index: 1;}to{transform: rotate(360deg);/*z-index: -1;*/}}.f{width: 170px;height: 160px;/* border: 1px solid rebeccapurple; */position: relative;left: 200px;top: 200px;/* 给父元素绑定动画 *//* animation: jump 1s ease alternate infinite; */}.m{animation: jump 1s ease infinite alternate;   }.f>div{position: absolute;}/* 两个圆 */.z1,.z2{width: 100px;height: 100px;border-radius: 50%;background-color: red;}.z2{left: 70px;}.z3{width: 100px;height: 100px;background-color: red;left: 35px;top: 35px;transform: rotate(45deg);}.z4{top: 50px;left: 50px;font-size: large;color: aliceblue;z-index: -1;}.z4c{animation: circles 1s linear 0.5s infinite alternate;}button{width: 80px;height: 40px;background-color: rgb(39, 141, 39);border: none;color: white;font-size: large;border-radius: 10px;cursor: pointer;box-shadow: 0 8px 5px gray;margin-left: 20px;}button:active{transform: translate(5px,5px);}</style>
</head>
<body><button onclick="start1()">开始</button><button onclick="stop1()">停止</button><div id="divF" class="f"><div class="z1"></div><div class="z2"></div><div class="z3"></div><div id="z4" class="z4">I&emsp;o&emsp;u</div></div>
</body>
<script>//1.获取let divF=document.getElementById('divF')let z4=document.getElementById('z4')function start1(){//2.设值(不能使用关键字class)divF.className='f m'z4.className='z4 z4c'}function stop1(){//2.设值(不能使用关键字class)divF.className='f'z4.className='z4'}
</script>
</html>

强盛集团实现薪资翻倍功能:

<!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>强盛集团</title><style>button{width: 100px;height: 40px;border: none;outline: none;color: white;border-radius: 8px;font-size: large;color: seashell;cursor: pointer;margin-left: 40px;}.fb>button:nth-child(1){background-color: rebeccapurple;}.fb>button:nth-child(2){background-color: goldenrod;}.fb>button:nth-child(3){background-color: green;}.fb>button:nth-child(4){background-color: rgb(11, 171, 235);}/* 鼠标放上去,有个阴影 */button:hover{box-shadow: 10px 10px 10px rebeccapurple;}/* 鼠标点击,动一动 */button:active{transform: translate(5px,5px);}/* tbody中的每一个tr隔行变色 */tbody>tr:nth-child(odd){background-color: skyblue;}tbody>tr:nth-child(even){background-color: rgb(240, 194, 78);}</style>
</head>
<body><h1 style="text-align: center;">强盛集团员工薪资表</h1><h2 style="text-align: center;">风浪越大,鱼越贵</h2><div class="fb" style="text-align: center;"><button onclick="changeText()">生成表格</button><button onclick="doubleMoney()">薪资翻倍</button><button onclick="restEmp()">退休人员</button><button onclick="sumMoney()">薪资总数</button>
</div><table style="margin-top: 30px;" align="center" border="1" cellspacing="0" cellpadding="20"><thead><tr><th><a href="javascript:orderEmp('id')">序号</a></th><th><m>姓名</m></th><th><a href="javascript:orderEmp('age')">年龄</a></th><th><a href="javascript:orderEmp('money')">薪资</a></th></tr></thead><tbody id="td1"><tr bgcolor="lightskyblue"><td>1</td><td>高启强</td><td>36</td><td>2000000</td></tr></tbody><tfoot id="tfoot"><tr style="text-align: center; color:rgb(255,255,0);"><td colspan="4">薪资总数:</td></tr></tfoot></table>
</body>
<script>let arr2=[{id:1,name:'高启强',age:36,money:300},{id:2,name:'高启盛',age:30,money:200},{id:3,name:'唐小龙',age:34,money:100},{id:4,name:'唐小虎',age:32,money:50},{id:5,name:'陈泰',age:66,money:30},{id:6,name:'老默',age:40,money:10},]//2.1获取td1元素let td1=document.getElementById('td1')let tfoot=document.getElementById('tfoot')function changeText(){//2.2替换//调用函数createTab(arr2)}//重复出现的代码,封装成一个函数,把某个数组中的数据放在tbody中function createTab(arr){let s=''arr.forEach((e)=>{s+=`<tr><td>${e.id}</td><td>${e.name}</td><td>${e.age}</td><td>${e.money}</td></tr>`})td1.innerHTML=s}let newEmps;function doubleMoney(){//薪资翻倍后,返回一个新的数组newEmps=arr2.map((e)=>{e.money*=2return e;})//调用函数createTab(newEmps)}//退休功能function restEmp(){let newEmps=arr2.filter((e)=>{return e.age>65})//调用函数createTab(newEmps)}//薪资求和function sumMoney(){let moneySumif(newEmps){//alert('对翻倍后的数组求和')moneySum=newEmps.reduce((sum,e)=>{return sum+e.money},0)}else{//alert('对原数组求和')moneySum=arr2.reduce((sum,e)=>{return sum+e.money},0)}tfoot.innerHTML=`<tr style="text-align: center; color:rgb(255,255,0);"><td colspan="4">薪资总数:${moneySum}</td></tr>`}//排序let a = truefunction orderEmp(type){a=!a//每调用一次,a取反let newEmps2switch(type){case 'id':console.log('根据id排序')newEmps2=arr2.sort((e1,e2)=>{return a? e2.id-e1.id : e1.id-e2.id})break;case 'age':console.log('根据age排序')newEmps2=arr2.sort((e1,e2)=>{return a? e2.age-e1.age : e1.age-e2.age})break;case 'money':console.log('根据money排序')newEmps2=arr2.sort((e1,e2)=>{return a? e2.money-e1.money : e1.money-e2.money})break;}//调用生成tbody的函数createTab(newEmps2)}
</script>
</html>

js炫酷走马灯:

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>走马灯</title><style>.f{width: 800px;height: 100px;border-top: 1px solid rebeccapurple;}.f>div{width: 60px;height: 40px;background-color: white;border-radius: 50%;float: left;margin-left: 20px;}@keyframes changeColor{0%{background-color: rgb(236, 65, 65);}20%{background-color: rgb(235, 176, 68);}40%{background-color: rgb(28, 148, 28);}60%{background-color: rgb(35, 35, 165);}80%{background-color: rebeccapurple;}100%{background-color: pink;}}.f>div:nth-child(1){animation: changeColor 3s ease 0s infinite;}.f>div:nth-child(2){animation: changeColor 3s ease 1s infinite;}.f>div:nth-child(3){animation: changeColor 3s ease 2s infinite;}.f>div:nth-child(4){animation: changeColor 3s ease 3s infinite;}.f>div:nth-child(5){animation: changeColor 3s ease 4s infinite;}.f>div:nth-child(6){animation: changeColor 3s ease 5s infinite;}.f>div:nth-child(7){animation: changeColor 3s ease 6s infinite;}.f>div:nth-child(8){animation: changeColor 3s ease 7s infinite;}.f>div:nth-child(9){animation: changeColor 3s ease 8s infinite;}.f>div:nth-child(10){animation: changeColor 3s ease 9s infinite;}</style>
</head>
<body id="body"><form action="" method=""><button onclick="generate">生成</button><input type="text" name="submit1" value=" ">行</form><div class="f"><div></div><div></div><div></div><div></div><div></div><div></div><div></div><div></div><div></div><div></div></div>
</body>
<script>// function generate(){// }// 1.获取let body=document.getElementById('body')let s=''for(let i=0;i<10;i++){s+=`<div class="f"><div></div><div></div><div></div><div></div><div></div><div></div><div></div><div></div><div></div><div></div></div>`}body.innerHTML=s
</script>
</html>

效果图:

 

 

 

 

小结

本节小课堂我们对js核心课程进行了学习,有数据类型转换,变量,简单数组和复杂数组,函数的两种定义方式,js-dom操作,并且通过四个有趣的小项目加以巩固所学到的知识点,这些绚丽的js前端动画特效让我眼前一亮,核心代码也通俗易懂。希望上述内容能带给你们帮助,有需求或者想要讨论前端内容的可以评论或者私信我。看到这里的小伙伴点个赞吧!我们一起学习打卡哟!

http://www.ds6.com.cn/news/54.html

相关文章:

  • 利用网络媒体营销来做电商网站论文济南网络优化哪家专业
  • 深圳高端网站建设深圳将进一步优化防控措施
  • 专门做问卷的网站网址搜索域名查询
  • 厦门企业如何建网站seo技术好的培训机构
  • 如何实现网站开发手机验证码如何做网销
  • 动态网站开发的主要技术网络推广优化seo
  • 做网站要ftp信息吗竞价代运营
  • 网站建设价格明细表和网站预算深圳网络推广公司排名
  • 禹城网站定制网络运营培训
  • 旅游网站开发系统的er图旺道seo优化
  • 菏泽做公司简介网站杭州网站优化搜索
  • 用java做网站的流程营销网站案例
  • 东莞网站建设推广方案北京网络营销外包公司哪家好
  • 做外贸 访问国外网站 怎么办怎样做推广
  • 营销型网站建设哪个好怎么注册自己的网站
  • 长沙网站建设有限公司网站维护中是什么意思
  • 无锡做网站排名创建网站步骤
  • wap小说网站源码nba最新排名
  • 湛江赤坎海田网站建设招聘软文广告经典案例300
  • 长沙互联网推广公司宁波网站推广优化哪家正规
  • 网站建设具备什么条件外链百科
  • 如何提高网站排名的方法排超最新积分榜
  • 制作开发app需要多少钱seo推广视频隐迅推专业
  • 黄页88网站网站优化排名易下拉系统
  • 网站建设开发定制百度推广代理查询
  • 网站开发入门习题qq群排名优化
  • 网站建设有几种方案优化教程
  • 做气球装饰可以上哪些网站长沙seo免费诊断
  • 网站开发项目任务网站可以自己做吗
  • 2017网站seo如何做网络营销模式有哪些?