1.JavaScript词法结构

所谓词法结构是指一套基础性规则,用来描述如何使用这门语言来编写程序,包括如下几项:

ü 字符集unicode

ü 区分大小写 (true和TRUE)

ü 忽略空白字符(空格、制表符和换行符)

ü 注释

ü 标识符和关键字(保留字)

解释:

命名:英文命名;

空白:由于js会忽略这些空白字符,那么我们在书写代码的时候,就可以更好的利用缩进、换行和空格更好的组织我们的代码,使其更加清晰。一般建议缩进4格

换行:js中一条语句以分号结束;但js中换行也表示一条语句的结束;因此在js中分号可以省略;但不建议省略。

注释非常重要。注释在编程语言中比重50%。

在js中,注释有如下两种写法:(重点)

ü 单行://

ü **多行: ** /**/

注意:

ü 注释的内容是不会被浏览器解析,是一个解释说明的信息,只是提供给程序员看

ü 多行注释不能嵌套使用

img

标识符和关键字(保留字)

在实际编写js的过程中,需要定义大量的变量和函数,来实现所需功能。其实这些变量和函数的名称就是标识符。

标识符的命名规则:(重点)

1)由数字、字母、下划线或$(美元符)组成;

2)不能以数字开头;并且区分大小写;

3)不能用关键字,保留字命名;

4)建议驼峰命名;

关键字:在js中已经有特殊意义的词;如:var typeof if for

保留字:将来可能会成为关键字的。如name;

关于关键字和保留字,可以参考http://www.runoob.com/js/js-reserved.html

小驼峰:从第二个单词开始,每个单词首字母大写 如: myAge

大驼峰: 每一个单词的首字符都大写;如:MyAge

最佳实践:标识符(如变量、函数)命名采用小驼峰式命名方法

#2.变量和值

#(1).变量概念(变量名和值)

先看代码:

img

**变量:**变量是一个可以存储单个可变信息的容器;

变量是由两个部分构成的:

ü 变量名:一般来说,等号左边的内容为变量名

ü 变量值:一般来说,等号右边的内容为变量值

#(2).如何声明变量

关键字:声明变量的关键字是var

a. 单独声明

一次性声明一个变量,每一个变量需要使用一个var。

![img](file:////Users/sairitsutakara/Library/Group%20Containers/UBF8T346G9.Office/TemporaryItems/msohtmlclip/clip_image020.jpg)

b. 一次性声明多个

只需要一个var关键字,然后就可以声明多个变量。

img

c. 重复声明 (了解)

在js中,是允许重复声明变量的,不会出错。如下:

d. 遗漏声明 (了解)

在js中,允许遗漏声明,不会出错,如下:

img

#(3).全局变量、局部变量

全局和局部是指变量的生效范围,在哪些地方能够起作用,能使用的。

全局和局部是以函数作为分界线的。

注意:javascript中没有常量

在js中,变量的值是可以改变的,也就是可以变化的。如下:

常量则是值某个标识符的值一旦确定,就不能改变。但是js中不支持。

最佳实践:

ü 总是使用var来声明一个变量

变量要先声明后使用

#3、三种输出方式:

**1、 ** **alert(); ** 弹出框

**2、 ** **console.log(); ** 在控制台输出;

**3、 ** **document.write(); ** 在页面输出;

**区别 ** **:**document.write()识别标签,其他两种不识别

img

img

#4.简单的dom操作

#什么是dom操作?

u DOM是一个使程序和脚本有能力动态地访问和更新文档的内容、结构以及样式的平台和语言中立的接口

u 在HTML和JavaScript的学习中,DOM操作可谓时重中之重

#Dom树

#DOM节点的分类:

u DOM节点分为三大类:元素(标签)节点、属性节点、文本节点;

#节点之间的关系:

u 由DOM树我们可以看到,文本节点、属性节点属于元素节点的子节点

u 在操作元素节点和文本节点前,一定要先获取到元素节点

#查找dom节点:

#通过ID名查找dom元素

**语法 ** **:**document.getElementById(“id名”)

功能:找页面中对应id名的元素;

返回值:dom元素

返回值类型:object;

说明:getELementById()前面必须的document对象(即文档对象)

​ 如果页面中没有这个id元素,返回null;

#通过标签名找元素

语法1:document.getElementsByTagName(“标签名”)

功能:获取页面中所有指定标签;

返回值:返回一个类数组(即一个集合);换句话说,就是将页面中所有的指定标签放在一个方括号的集合里面

img

获取具体的某个元素;

#元素内容

#获取元素的内容

语法:元素.innerHTML;

说明:获取到的内容都是string 类型;

#修改设置元素的内容

语法:元素.innerHTML = ‘内容’

说明:会覆盖;

#元素的行内样式

#获取元素的行内样式 style

img

语法:元素.style.css属性;

注意:复合属性需要转驼峰;

#设置元素的行内样式

语法:元素.style.css属性 = 属性值;

补充

#元素的html属性;

#获取元素的html属性

语法:元素.html属性

Eg: 元素.id 元素.src 元素.alt 元素.value 等;

#设置修改元素的html属性

语法:元素.属性 = 属性值;

初始

修改后

#小结:

\1. js中严格区分大小写

\2. js中每一条语句以分号结尾。(可以省略,但不建议)

\3. js中注释分为 单行 // 多行/**/

\4. 标识符的命名规则(重点)

\5. 变量:可以存储单个可变信息的容器

\6. Var是声明变量的关键字(重点)

\7. 变量的赋值

\8. 通过id名查找dom元素(重点)

\9. 通过标签吗查找dom元素(重点)

\10. 通过innerHTML属性获取或设置元素的内容(重点)

\11. 通过style属性获取或设置元素的行内样式(重点)

\12. 获取设置元素的html标准属性(重点)

\13. 通过className属性获取或设置元素的类名(重点)

js上 二.JavaScript基本语法的更多相关文章

  1. js上 初识JavaScript

    1.JavaScript简介 **JavaScript ** 是什么?(重点) Js是一种专门为网页交互设计的客户端(浏览器端)的脚本语言: Js与html和css有相似之处,都在浏览器端解析: Js ...

  2. js上 二十、综合案例

    二十.综合案例 题目一: **1. ** 数组随机 描述,写randomArray函数,传递一个数组,传递一个数值,返回一个指定个数的随机的新数组,不允许有重复数据 用例: randomArray([ ...

  3. JavaScript(js)获取本周,本月,本季,本年,上月,上周,上季,去年,上二周,上二月的时间段的代码

    function dateChange(name){ var beginTimeObject = document.getElementById("beginTime"); var ...

  4. JavaScript(js)/上

    JavaScript(js) ECMA-----定义的基础语法 DOM------document  object  model BOM------Browser  object  model Jav ...

  5. atitit.javascript js 上传文件的本地预览

    atitit.javascript js 上传文件的本地预览 1. .URL.createObjectURL  1 1.1. 吊销所有使用 URL.createObjectURL 而创建的 URL,以 ...

  6. 【repost】JavaScript 基本语法

    JavaScript 基本语法,JavaScript 引用类型, JavaScript 面向对象程序设计.函数表达式和异步编程 三篇笔记是对<JavaScript 高级程序设计>和 < ...

  7. js进阶 10-2 JQuery基础语法是什么

    js进阶 10-2 JQuery基础语法是什么 一.总结 一句话总结: 1.jquery语法超级简单:基础语法是:$(selector).action() 2.jquery选择的时候是带了引号的,肯定 ...

  8. 从 Vue 的视角学 React(二)—— 基本语法

    基于 Vue.js 开发的时候,每个 vue 文件都是一个单独的组件,可以包含 HTML,JS,CSS 而 React 是以函数为基础,每个 function 就是一个组件.虽然 JSX 让 HTML ...

  9. JavaScript交互式网页设计 • 【第1章 JavaScript 基本语法】

    全部章节   >>>> 本章目录 1.1 JavaScript 概述 1.1.1 JavaScript 简介 1.1.2 JavaScript 的概念和执行原理 1.1.3 J ...

随机推荐

  1. 为什么 @Value 可以获取配置中心的值?

    hello,大家好,我是小黑,好久不见~~ 这是关于配置中心的系列文章,应该会分多篇发布,内容大致包括: 1.Spring 是如何实现 @Value 注入的 2.一个简易版配置中心的关键技术 3.开源 ...

  2. java开发两年!这些异常处理的方式你得知道,不然你凭什么涨薪!

    前言 异常是在程序中导致程序中断运行的一种指令流,当异常发生时,程序将直接中断,不再执行后续的任何操作! 示例:两数相除,若不处理任何异常,则只有在正确输入两个数字时,才能显示出运算结果. publi ...

  3. 主板上来了一个新邻居,CPU慌了!

    大家好,我是CPU一号车间的那个阿Q,好久不见,我想死你们了- 不认识我的请去这里这里补补课:完了!CPU一味求快出事儿了! 主板上的新邻居 "阿Q,快别忙了,马上去一趟会议室,领导有重要事 ...

  4. 苹果电脑清理软件CleanMyMac X好用吗?

    为了维护mac系统健康,优化系统功能,我们需要定期给电脑进行清理.那么作为mac清理软件CleanMyMac X软件具备哪些独特性和实用性呢?今天就给大家说明一下. 1. 简洁大气的外观. 用户正版官 ...

  5. 使用Camtasia给视频课件添加自动聚焦的效果

    随着现在抖音与微课市场的大火,原来可能只是因为兴趣爱好而剪辑制作了一些视频为爱发电,现在却完全可以当作一个事业来做了. 但是课件录制的时候,大部分的录制屏幕软件都是全屏或者固定屏幕大小录制的,有些小细 ...

  6. Wine和CrossOver之间的关系简单介绍

    相信有些小伙伴们不太了解Wine和CrossOver之间的关系与区别,然而对此又很好奇,所以小编今天将给大家介绍一下这两者之间的关系与区别. Wine是什么? Windows.Linux和macOS是 ...

  7. php 缩略图封装的方法

    /** * PHP生成缩略图 * @param $basepath /原文件地址 * @param $des_w /缩略图的宽 * @param $des_h /缩略图的高 * @param $sty ...

  8. selenium元素定位不到问题分析及解决办法

    最近正在学习写自动化测试脚本,遇到一个错误迟迟未解决,导致自信心大受挫败,甚至想放弃. 思考许久突然想到,我遇到的问题是否也有人会遇到,如果有的话问题就应该有解决办法了.没什么问题是百度解决不了的,如 ...

  9. python3 Failed to establish a new connection: [WinError 10061] 由于目标计算机积极拒绝,无法连接

    报错源代码from selenium import webdriverimport unittestimport timefrom HTMLTestRunner import HTMLTestRunn ...

  10. Codeforces Round #488 by NEAR (Div. 2)

    A 开个桶记录是否出现即可. 时间复杂度 \(O\left(n+m\right)\). B 按能力值从小到大依次加入,然后维护前 \(k\) 大的金币数即可. 时间复杂度 \(O\left(n\log ...