Javascript用途,语法特点,难点,调试工具,引入方式,命名规范,变量声明及赋值,数据类型,运算符
JavaScript用来干什么
- 数据的验证
- 将动态的内容写入到网页当中(ajax)
- 对事件做出相应
- 读写html当中的内容
- 检测浏览器
- 创建cookies
- 模拟动画
语法特点
- 基于对象和事件驱动的松散型的解释性语言
- 面向对象开发
- 事件驱动
- 松散型 弱类型
- 解释性语言。由浏览器解释执行
JavaScript的组成部分
- ECMAscript语法
- 数据类型,运算符,流程控制,函数,面向对象
- BOM浏览器对象模型
- DOM文档对象模型
难点
- 语法的松散自由型
- 各个浏览器的兼容
调试工具
- alert('这是一个弹窗');
- document.write('输出到页面中');
- document.write('
我是h6
');
- prompt("提示信息","显示框");
- console.log("输出到控制台");
JavaScript引入方式
- script标签对,嵌入到页面中任意位置
- 超链接或者是重定向的位置
<a href="javascript:alert('重定向')">我是重定向</a> - 事件后面
<div onclick="alert('事件后面')">这是事件</div> - 引入外部js文件
<script src="index.js"></script>
js可以在页面中的任意位置引入,他们是一个整体可以相互联系,相互影响;在引入外部js文件中,不能出现
<script></script>,在页面<script src=""></script>标签中不能出现js代码
JavaScript的命名规范
- 严格区分大小写
- 变量由数字,字母,下划线,$组成,不允许数字开头
- 不能用关键字或保留字命名
- 命名习惯 驼峰命名法 首字母大写
- 命名要有一定意义
- ;语句结束
变量的声明及赋值
- 先声明后赋值
var a;a=1- 声明同时进行赋值
var a=1;- 一次声明多个变量,然后赋值
var a,b,c; a=1;b=2;c=3- 一次性声明多个变量的同时赋值
var a=1,b=2,c=3;
栈区(内存小运行快) 堆区(内存大运行慢) 静态区 代码段
0开头的数字(8进制)
数据类型(2种)
- typeof()检测数据类型,返回值是字符串
初始数据类型:
- undefind
变量声明后没有赋值,默认值undefined - null
typeof的结果是object,表示什么都没有,占位符 - boolean
true false 结果是boolean - number
整型,浮点型;二进制,八进制,十六进制,十进制,科学计数法,特殊值
Number.MAX_VALUE 最大值,
Number.MIN_VALUE 最小值。 - string
用''""包围的值,就是一个字符串
单双引号效率一样;单双引号成对出现;可以相互嵌套,不能交叉嵌套;特殊字符
\b \n \t \r \'' \"" \\ \
引用数据类型
- object
运算符
表达式:运算符和操作数的组合成为表达式
算术运算符(1)
+ - * / %(取余) var++(先运行后自增) ++var(先自增后运行) var-- --var
10%3 余数为1
- %
- 用来取某个数的余数
- 用于取一定范围的值
- 一般不用小数,因为结果不确定
- 四则运算
- 字符串连接,任意的数据类型都可以和字符串连接,连接之后结果是字符串。
12.27
关系运算符(比较运算符)(2)
< > <= >= == === != !==
运算结果是布尔值
== 比较两个数的值是否相等 =不但要比较值是否相等,还比较类型是否相等 false0 true==1
比较规则
- 两个数值比较,正常比较
- 两个字符串进行比较时,比较第一个字符所对应的ASCll
- 数字和字符串在进行比较时,字符串尝试转换成数字进行比较,如果转换不成功返回NAN,整个表达式返回false
- undefined==null
- 数值和布尔值进行比较时,布尔值转化为true,1 false,0
赋值运算符(3)
= += -= *= /= %=
a++ a=a+1 a+=1
逻辑运算符(4)
与and&& 或or|| 非not!
&&
同时为真,结果为真。只要有一个为假,结果就为假
||
只要有一个为真,结果为真。全假,结果为假
!
取反。真-->假 假-->真
- 逻辑运算符可以对任何类型的数据进行运算但是在运算的
时候,可以转换为对应的布尔值 Boolean - Undefined false
- Null false
- Boolean 就是本身的值
- Number 除了0以外都是真的
- String 除了空字符串以外都是真的
- 对象 真的
一元运算符(5)
typeof +(正) -(负) delete new ++ --
- typeof()获取数据类型
- delete删除对象的方法或属性
- new用来创建一个对象
三元运算符(6)
格式:var 变量=布尔值?条件为真的值:条件为假的值
根据表达式的计算结果有条件的为变量赋值
特殊运算符(7)
, (),- 用来一次声明多个变量
()- 在运算的时候有优先级的作用
- 可以让函数运行
Javascript用途,语法特点,难点,调试工具,引入方式,命名规范,变量声明及赋值,数据类型,运算符的更多相关文章
- javascript 变量 命名规范 变量的作用域
原文:javascript 变量 命名规范 变量的作用域 大家好,我是小强老师,今天讲解的是变量 变量 小时候我们学过 这个 应用题 : X+1=2; 问 X 等于几? 答案是 1 对了,很聪 ...
- JavaScript 引入方式 语言规范 语言基础 数据类型 常用方法 数组 if_else 比较运算符 for while 函数 函数的全局变量和局部变量 {Javascript学习}
Javascript学习 JavaScript概述 ECMAScript和JavaScript的关系 1996年11月,JavaScript的创造者--Netscape公司,决定将JavaScript ...
- JavaScript变量声明及赋值
1.变量声明 var a; //声明一个变量 a var b,c,d; //同时申明多个变量时,变量名之间用逗号隔开 console.log(a); //在控制台显示变量a的值,输出为undefine ...
- CSS最基础的语法和三种引入方式
**CSS语法** CSS 规则由两个主要的部分构成:选择器,以及一条或多条声明.选择器通常是您需要改变样式的 HTML 元素. selector {declaration1; declaration ...
- Python 语法特点:注释/编写规则/命名规范
1.注释 1)单行注释 # 2) 多行注释 前后三个单引号或双引号 ‘’‘ ... ''' """ ...""" ...
- JavaScript基础语法资料
JavaScript基础第01天 1 - 编程语言 1.1 编程 编程: 就是让计算机为解决某个问题而使用某种程序设计语言编写程序代码,并最终得到结果的过程. 计算机程序: 就是计算机所执行的一系列的 ...
- python 全栈开发,Day50(Javascript简介,第一个JavaScript代码,数据类型,运算符,数据类型转换,流程控制,百度换肤,显示隐藏)
一.Javascript简介 Web前端有三层: HTML:从语义的角度,描述页面结构 CSS:从审美的角度,描述样式(美化页面) JavaScript:从交互的角度,描述行为(提升用户体验) Jav ...
- 前端JavaScript(1) --Javascript简介,第一个JavaScript代码,数据类型,运算符,数据类型转换,流程控制,百度换肤,显示隐藏
一.Javascript简介 Web前端有三层: HTML:从语义的角度,描述页面结构 CSS:从审美的角度,描述样式(美化页面) JavaScript:从交互的角度,描述行为(提升用户体验) Jav ...
- {前端CSS} 语法 Css的几种引入方式 css选择器 选择器的优先级 CSS属性相关 背景属性 边框 CSS盒子模型 清除浮动 overflow溢出属性 定位(position)z-index
前端CSS CSS介绍 CSS(Cascading Style Sheet,层叠样式表)定义如何显示HTML元素,给HTML设置样式,让它更加美观. 当浏览器读到一个样式表,它就会按照这个样式表来对文 ...
随机推荐
- linux下修改gcc编译器版本
可以使用如下命令行来让 gcc 选择不同的 C++ 版本: g++ -std=c++11 main.cpp 在你的系统中,由于编译器或是编译器设定上的差别,操作也许有所不同.
- 06多次查询某区间内topk问题
题目描述:给定一个数组,需要多次查找不同区间内的,第k大或者第k小的元素. 考虑题目是多次查找,如果采用只对查询区间内的元素进行排序的思路,然后输出第k大的数的策略,那 ...
- 模板—tarjan缩点
void tarjan(int x) { dfn[x]=++cnt;low[x]=cnt; vi[x]=; stack[++top]=x; for(rint i=f(x);i;i=n(i)) if(! ...
- APICloud原生APP中ajax需要用api.ajax
报错截屏: APICloud原生APP中ajax请求需要用api.ajax(api对象的ajax方法来替代),否则会将引起请求失败. APICloud api.ajax
- HMM——维特比算法(Viterbi algorithm)
1. 前言维特比算法针对HMM第三个问题,即解码或者预测问题,寻找最可能的隐藏状态序列: 对于一个特殊的隐马尔可夫模型(HMM)及一个相应的观察序列,找到生成此序列最可能的隐藏状态序列. 也就是说给定 ...
- Python--day20--序列化模块
序列化:转向一个字符串数据类型 序列 ———— 字符串 序列化和反序列化的概念: 序列化三种方法:json pickle shelve json模块:json模块提供了四个方法dumps和load ...
- JPA进行insert操作时会首先select吗
在某个项目中,使用JPA的saveAll方法去批量写入数据时,通过打印sql,发现每次insert前都会先select一次,极大的浪费了写入性能. 分析一下代码,saveAll() @Transact ...
- C# 判断两条直线距离
本文告诉大家获得两条一般式直线距离 一般式的意思就是 Ax+By+C=0" role="presentation">Ax+By+C=0Ax+By+C=0 如果有两个 ...
- python模块之random模块
random模块 随机模块,用于处理随机问题. import random # 随机整数 print(random.randint(0, 9)) # 0到9之间随机一个整数 print(random. ...
- JavaScript DOM查询,原生js实现元素子节点的获取
在网页网页开发中,经常会需要获取某个网页元素的子元素,然后对其进行事件绑定.或样式修改等行为.这些操作对于jquery来说很容易,但是对于原生js会稍微麻烦一些,这里将介绍四种方法获取元素的子元素(本 ...