1. Javascript 流程控制

  • 用于“基于不同条件执行不同的动作”的场合

1.1 if 语句

  • 三种形式
// 第一种
if... // 第二种
if...
else ... // 第三种
if...
else if...
else...
  • 支持

    • 单分支
    • 双分支
    • 多分支
  • 注意

    • else if 中间必须要有空格
  • 对第二种形式举例

if(1+1=2){
console.log("true");
}
else{
console.log("false");
}

1.2 switch 语句

  • 多分支语句,形如
 switch(n){
case 1:
...
break;
case 2:
...
break;
...
default:
... // 对于 case 1 ~ case n 均不符合时,执行此语句
}

2. Javascript 循环

  • 对于程序中有规律的重复性操作,可以使用到循环语句
  • breakcontinue 语句使循环中的代码可以被更方便地控制

2.1 for 循环

for(var i=0; i<len; i++){
...
}

2.2 while 循环

var i=0;
while(i<8){
...
i++;
}

2.3 for-in 语句

  • for-in 语句是严格的迭代语句,用于枚举对象的属性
var lst = [1, 2, 3, 4, 5];
for(i in lst){ // 迭代的是数组的下标
document.write(lst[i] + ' ');
} // 输出:1 2 3 4 5

3. Javascript 元素获取

  • 可以使用内置对象 document 上的 getElementById() 方法来获取页面上设置了 id 属性的元素
  • 获取到的是一个 html 对象
  • 然后将它赋值给一个变量

3.1 错误的写法

<script type="text/javascript">
var oDiv = document.getElementById('div1');
</script>
...
<div id="div1">这是一个 div 元素</div>
  • 出错的原因

    • 程序自上而下加载执行
    • 上方语句把 javascript 写在元素的上面,javascript 去页面上获取元素 div1 的时候,元素 div1 还没有加载

3.2 正确的写法

3.2.1 第一种写法

  • javascript 放到页面最下边
<body>
....
<div id="div1">这是一个 div 元素</div>
....
<script type="text/javascript">
var oDiv = document.getElementById('div1');
</script>
</body>

3.2.2 第二种写法

  • javascript 语句放到 window.onload 触发的函数里面
  • 获取元素的语句会在页面加载完后才执行
<body>
<script type="text/javascript">
window.onload = function(){
var oDiv = document.getElementById('div1');
}
</script>
....
<div id="div1">这是一个div元素</div>
</body>

4. Javascript 元素操作

4.1 样式操作

  • 形式

    • 标签对象.style.css属性名 = "值"; // 改变标签对象的样式
  • 示例
    • id.style.color = "red";
  • 注意
    • 属性名相当于变量名
    • 若 css属性名中含有双拼词(形如 font-size),要把减号去掉并将后面的单词的首字母大写(形如 fontSize),即“小驼峰”

4.2 文本操作

  • 形式

    • 标签对象.innerHTML = "内容";// 在标签对象内放置指定内容
  • 获取一般使用 innerText

4.3 表单中值的操作

  • 形式

    • 标签对象.value; // 获取标签对象的 value 值
    • 标签对象.value = ”值“;// 设置标签对象的 value 值

[Web 前端] 023 js 的流程控制、循环和元素的获取、操作的更多相关文章

  1. Grunt搭建自动化web前端开发环境--完整流程

    Grunt搭建自动化web前端开发环境-完整流程 jQuery在使用grunt,bootstrap在使用grunt,百度UEditor在使用grunt,你没有理由不学.不用! 1. 前言 各位web前 ...

  2. Web前端-Vue.js必备框架(一)

    Web前端-Vue.js必备框架(一) <!DOCTYPE html> <html lang="en"> <head> <meta cha ...

  3. Web前端-Vue.js必备框架(五)

    Web前端-Vue.js必备框架(五) 页面组件,商品列表组件,详情组件,购物车清单组件,结算页组件,订单详情组件,订单列表组件. vue-router 路由 vuex 组件集中管理 webpack ...

  4. Web前端-Vue.js必备框架(四)

    Web前端-Vue.js必备框架(四) 计算属性: <div id="aaa"> {{ message.split('').reverse().join('') }} ...

  5. Web前端-Vue.js必备框架(三)

    Web前端-Vue.js必备框架(三) vue是一款渐进式javascript框架,由evan you开发.vue成为前端开发的必备之一. vue的好处轻量级,渐进式框架,响应式更新机制. 开发环境, ...

  6. Web前端-Vue.js必备框架(二)

    Web前端-Vue.js必备框架(二) vue调式工具vue-devtools 过滤器:vue.js允许你自定义过滤器,可被用作一些常见的文本格式化. mustache插值和v-bind表达式. vu ...

  7. 【RSA】在 ASP.NET Core中结合web前端JsEncrypt.JS使用公钥加密,.NET Core使用私钥解密;

    有一个需求,前端web使用的是JsEncrypt把后端给的公钥对密码进行加密,然后后端对其进行解密: 使用的类库如下: 后端使用第三方开源类库Bouncy Castle进行RSA的加解密和生成PEM格 ...

  8. python学习第七天流程控制循环while和循环for区别

    流程控制循环是任何编程语言都有一种循环结构,在python while 和break continue 搭配使用,还一种while ....else ......,for循环有序列表和字符串 whil ...

  9. web前端----JavaScript(JS)简单介绍

    JavaScript(JS) 一.JavaScript的历史 1992年Nombas开发出C-minus-minus(C--)的嵌入式脚本语言(最初绑定在CEnvi软件中).后将其改名ScriptEa ...

随机推荐

  1. ArrayList为什么是线程不安全的

    首先需要了解什么是线程安全:线程安全就是说多线程访问同一代码(对象.变量等),不会产生不确定的结果. 既然说ArrayList是线程不安全的,那么在多线程中操作一个ArrayList对象,则会出现不确 ...

  2. form表单和CSS

    一.form表单 1. form表单有什么用 能够获取用户输入的信息(输入,选择, 上传的文件),并且将这些数据全部发送给后端 2. form表单的用法 (1)有两个重要参数: action : 控制 ...

  3. 《Head First 软件开发》阅读三

    足够好的设计:以良好的设计完成工作 良好的设计有助于交付软件. 有些项目的进程会打破单一责任的原则,当每个对象只有一个理由去改变时,已经正确地实施了单一责任原则.辨别设计中的多重责任,对实现类中的东西 ...

  4. react保存用户的输入换行,空格等等

    <div dangerouslySetInnerHTML = {{ __html: '接口返回值' }} />

  5. python导入不同目录下的自定义模块

    一.代码目录结构 自定义的模块在Common包下,Study文件下SelectionSort.py文件导入自定义的模块 二.源码 2.1:SelectionSort.py文件   python导包默认 ...

  6. python之sys._getframe() 用于查看函数被什么函数调用以及被第几行调用及被调用函数所在文件

    import sys def get_cur_info(): print(sys._getframe().f_code.co_filename) # 当前文件名,可以通过__file__获得 prin ...

  7. 2019学军集训记&PKUWC2020游记

    题解:https://www.cnblogs.com/gmh77/p/12051260.html 集训(×) 被虐(√) Day1 二段考 Day2 绝对不鸽 没那回事 还在路上 其实就是咕了两天 晚 ...

  8. QML 与 C++ 交互

    前言 文档如是说,QML旨在通过C ++代码轻松扩展.Qt QML模块中的类使QML对象能够从C ++加载和操作,QML引擎与Qt元对象系统集成的本质使得C ++功能可以直接从QML调用.这允许开发混 ...

  9. Python文件对象方法

    使用open()函数创建一个文件对象,这里是可以在这个对象上调用的函数的列表 - 编号 方法名称 描述 1 file.close() 关闭文件,无法读取或写入关闭的文件. 2 file.flush() ...

  10. 在linux下搭建go环境

    这几天小Jerry开始接触Go语言了,因为小Jerry学个东西必须要从最基础的开始弄懂,不然~她理解不了<hahaha> 所以,今天就来讲最基础,却也很容易让小Jerry这样的菜鸟感到困扰 ...