参考文章:
js教程
- 为什么要学习js?
- web开发中js是很重要的一环,html决定了web的结构,css决定了web的样式,而js则决定了web的行为,而且在现代web开发中js也越来越重要,比如小程序的开发使用js,vue的开发也离不开js,所以做前端学习js还是很有必要的。
- js是脚本语言,语法上和java有相似之处,但是js非编译型语言,更不是强类型语言,是可以插入html的轻量级编程语言,插入html后由浏览器执行。
- js的功能?
- 直接写入html的输出流:通过js直接写入html中内容,即:document.write("<h1>这是一个标题</h1>");
document.write("<p>这是一个段落。</p>"); - 对事件进行反应,比如元素的点击事件,触摸事件等
- 改变html中元素的内容,注意此和前面的区别,此为改变元素内容,上面为直接写入html内容。
- 改变html的图像,借助于上面的事件函数,js可以通过逻辑动态修改html元素的状态等比如动态修改图片。
- 修改html样式:动态修改html样式
- 验证输入,针对html中的表单,在提交前可以通过js进行验证。js提供了对于普通验证的高级函数,不需要自己处理验证,比如验证数字等。
- 直接写入html的输出流:通过js直接写入html中内容,即:document.write("<h1>这是一个标题</h1>");
- js当前标准到es7,小程序当前支持到es6可以向上兼容到es5,通过项目project配置,小程序发包的时候会针对修改。
- js的使用?
- js的使用包含三种,一种是直接在html中通过标签<script /> 声明js,html解释执行的时候会识别为js,html可以在head和body中写也可以写多个js标签,需要注意的是js写在不同的地方有着不同的执行顺序。
- 在js标签中通过src可以引入外部的js文件,和上面相比js更具有通用性,多个页面都可以引入使用。
- 简单的js函数和语句可以在html标签属性上直接书写。
- js的语法:
- js的输出语句:
使用 window.alert() 弹出警告框。
使用 document.write() 方法将内容写到 HTML 文档中。
使用 innerHTML 写入到 HTML 元素。
使用 console.log() 写入到浏览器的控制台。
- js的语法:js的语法很多情况与java类似此处不再一一整理,使用的时候不明白可以直接查询参考文章,此处整理一些比较特殊的点:
- js存在字面量的概念,字面量包含数字,字符串,表达式,数组,对象,函数,即:1/0.5/'john'/3+5/[1,2,3,4]/{firstName:"John", lastName:"Doe", age:50, eyeColor:"blue"}/function myFunction(a, b) { return a * b;},字面量可以简化代码的书写,比如数组js存在对象但是使用字面量数组对象更简单直接。
- js使用var定义变量,es6开始可以使用const定义常量,let定义let命令行所在的代码快中使用的变量,超出不可用使用,js中变量是无类型的,即一个变量可以在使用过程中赋值不同类型的值,但是不建议这样做。js声明变量不会赋默认值,没有赋值的变量是无值变量,此和java不一致,java针对基础变量会赋默认值。js重复声明同一个变量,后面变量不会覆盖前面变量的值,打印后面变量还是显示前一个变量的值。js中不使用var声明变量则这个变量作用域属于window不属于js,此时其作用域是全局变量且通过window.变量名在其他页面也可以访问此变量。
- js针对大小写字母敏感。
- js存在动态类型,即js的一个变量可以赋值不同类型的值,typeof函数可以打印变量的类型。
- js的字符串和java类似,不太一样的是直接声明是String类型通过new String 是object类型,同样存在一系列的函数用来操作字符串,同样使用+串联字符串或者串联数字生成字符串。
- js的比较运算符基本和java一致,不同的是存在===和!==两个运算符:绝对等于和绝对不等于,即对象的类型和值都相等则为true/后面有一个不想等则为true。
- js的for循环提供了for in循环语法,即通过forin语法可以方便的遍历对象的属性很是方便。
网友评论