JavaScript基础------JavaScript语法
js的注释与分号
// 单行注释
/**/多行注释 ctrl +shift +/
语句结束使用分号,如果省略,则由解析器确定语句的结尾
js语法 1.变量、函数名、操作符都区分大小写
2.标识符
(1)什么是标识符
变量、函数、属性的名字或者函数的参数
(2)标识符的命名规则
1>由字母数字下划线或$组成
2>不能一数字开头
3>不能使用关键字、保留字等作为标识符
3.变量
1.ECMAScript 的变量是松散型的
松散型:可以用来保存任何类型的数据
换句话说,每个变量仅仅是一个用来保存值得占位符而已
2. 变量声明
变量的声明要使用var操作符
语法: var 变量名
注:省略var声明的变量是全局变量,不推荐使用
3. 变量赋值
方法一:先声明后赋值
var xx;
xx='hello';
方法二:声明的同时赋值
var age=18;
一次声明多个变量
var a=12,b='hello',c;
4.数据类型
简单的数据类型(基本数据类型)
Undefined 只用一个值---特殊的undefined
没有赋值的变量类型就是undefied
Null
空指针对象
如果定义的变量准备将来用于保存对象,最好将其初始换问Null
Boolean
true
false
类型转化
0、空字符串、null、undefined转化成布尔值是false 其他的为true
Number
整数和浮点数
NaN not a number 是特殊的数值
任何涉及NaN的操作(NaN-10)都返回NaN
NaN与任何值都不相等,包含NaN本身
isNaN(n)-----函数检测n是否是非数值 是非数值返回True 是数值返回flase
接受到参数后,尝试把参数转化成数值,如果能转就转后再返回结果 例如'16'也是数值
String
用于表示由0或多个16位Unicode字符组成的字符序列,即字符串,字符串可以双引号或单引号表示
将其他类型转化成字符串函数
toString()函数
语法:abc.toString()
返回值:abc的一个副本
参数:abc是要转换的内容,可以是数值或布尔值或对象或字符串
String()函数
强制转化,能够将任何类型的值转化成字符串 ECMAScript6新增了symbol类型
symbol
复杂的数据类型
Object
typeof---检查变量类型
typeof 变量 或typeof(变量)
返回值string类型
console.log(typeof age)//在控制台中打印
数值转化(有3个函数可以把非数值转化成数值类型)
Number() 把值强制转化成数据类型,遇到字符串转不了时,返回NaN
parseInt() 专门用于把字符串转化成数值
1.操作的参数必须是数字开头才能提取出来 例如28px可以 ss28提取不出来返回NaN
2.parseInt()接收两个参数,一个是被转化的参数一个是转化时使用的基数(多少进制)
var topval='28px';
topval=parseInt(topval)
console.log(topval) //返回的值是28
parseFloat() 专门用于把字符串转化成数值
从第一个字符开始解析每个字符,直到遇见一个无效的浮点数值为止
除了第一个小数点有效外,与parseInt()的第二个区别是它始终会忽略前导的零
5.操作符
算数操作符
+ - * / % ++a(先返回递增之后的值) a++(先返回原值,再递增)
其他操作符
逻辑操作符
逻辑与 &&
说明:在有一个操作数不是布尔值时,逻辑与操作就不一定返回值,此时遵守以下规则:
1.如果第1个操作数隐式类型转化后为true,则返回第2个操作数
2.如果第1个操作数隐式类型转化后为false,则返回第1个操作数
3.如果操作数中有一个是none 或NaN或undefined 就直接返回none 或NaN或undefined
逻辑或 ||
说明:在有一个操作数不是布尔值时,逻辑或操作就不一定返回布尔值,遵循以下规则
1.如果第一个操作数隐士类型转化成true则返回第一个操作数
2.如果第一个操作数隐士类型转化为false则一次往下判断,直到遇到true的就返回
3.如果操作数都是none 或NaN或undefined 就返回none 或NaN或undefined
逻辑非 ! -----永远返回布尔型
说明:
1.无论操作数是什么数据类型,逻辑非都会返回布尔值
2.!!同时使用两个逻辑非操作符时
第一个会基于操作数返回布尔值
第二个对该布尔值求反
赋值操作符
比较操作符
==相等,只比较值是否相等
===:相等,比较值得同时比较数据类型是否相等
!=:不相等,比较值是否不相等
!==:不相等,比较值得同时比较数据类型是否不相等
返回值:boolean型
三元操作符
语法:
条件?执行代码1:执行代码2
说明:
可代替简单的if语句 如果条件成立,执行代码1,否则执行代码2
JavaScript基础------JavaScript语法的更多相关文章
- javascript基础、语法
JavaScript基础(简介.语法) 一.JavaScript简介 1.JavaScript是个什么东西? 它是个脚本语言,需要有宿主文件,它的宿主文件是HTML文件. 2.它与Java什么关系? ...
- JavaScript基础——JavaScript语法基础(笔记)
JavaScript语法基础(笔记) 1.语言编码 JavaScript语言建立在Unicode字符集基础之上,因此脚本中,用户可以使用双字节的字符命名常量.变量或函数等. [示例] var 我=&q ...
- javascript基础一语法和常用函数
1语法 1.1引入的方式 在html中引入javascript,使用script标签,在html页面中包括外部引入js方式和在html内部引入js方式.如下两种: 方式一: <script ty ...
- 2017-3-28 JavaScript 基础、语法
前端三剑客: html+css+js(html 决定网页上有什么,css决定东西是怎么摆放的,js决定东西的功能) js定义: js是一个脚本语言,需要有宿主文件,它的宿主文件是html文件. js ...
- javascript基础:语法与html结合方式
一.基本语法: 1.与html结合方式 1.内部JS: * 定义<script>,标签体内容就是JS代码 2.外部JS: * 定义<script>,通过src属性引入外部的 ...
- javascript基础1 语法 点击事件 超链接带点击事件
javascript ----------------------------------------------------------------------------------------- ...
- JavaScript基础(语法类型转换、运算符、语句)
1.类型转换: 分为自动转换和强制转换,一般用强制转换. 其他类型转换为整数:parseint(): 其他类型转换为小数:parsefloat(): 判断是否是一个合法的数字类型:isNaN(): 是 ...
- JavaScript基础——JavaScript函数(笔记)
avaScript 函数(笔记) JavaScript 是函数式编程语言,在JavaScript脚本中可以随处看到函数,函数构成了JavaScript源代码的主体. 一.定义函数 定义函数的方法有两种 ...
- (译文)JavaScript基础——JavaScript中的深拷贝
在JavaScript中如何拷贝一个对象? 通过引用调用 function mutate(obj) { obj.a = true; } const obj = {a: false}; mutate(o ...
随机推荐
- Java基础- TreeMap<Person,Integer> 实现的定制排序(Comparator 接口)
测试内容: TreeMap<Person,Integer> 的两级排序 1.先按Person.id 从小到大 (需要把int类型转换成包装类 Integer, 才可以使用p1.getId( ...
- nginx 缓存区太小导致后台Connection reset by peer 报错
问题概述:图片bit 64生成数据流太大,导致小程序分享弹窗的二维码图片生成失败 后台报错: 排查: Client------>nginx------->h5------>nginx ...
- hibernate的详解
一,环境的搭建 1)创建maven项目 2)导入依赖的jar包.pom.xml和创建实体类User <?xml version="1.0" encoding="UT ...
- 2018 南京网络预赛Sum - 线性筛
题意 链接 定义 $f(x)$ 为满足以下条件的有序二元组 $(a, b)$ 的方案数(即 $(a, b)$ 与 $(b, a)$ 被认为是不同的方案): $x= ab$ $a$ 和 $b$ 均无平方 ...
- SVG矢量绘图 path路径详解(贝塞尔曲线及平滑)
以二次贝塞尔曲线的公式为例: js函数: //p0.p1.p2三个点,其中p0为起点,p2为终点,p1为控制点 //它们的坐标用数组表示[x,y] //t的范围是0-1 function qBerzi ...
- 编译安装 openmcu
1. install toolssudo apt-get install libtool autoconf flex bison automake pkg-config 2.yasm-1.3.0sed ...
- BZOJ 3901 棋盘游戏 (找结论+枚举+贪心)
题面 略 BZOJ 传送门 分析 具体分析见 dalao博客 妙就妙在当i<x,j<xi<x,j<xi<x,j<x时,(i,j)(i,j)(i,j) ^ (i,x) ...
- 微信小程序 空白页重定向---二维码扫描第二次进入 不经过onLoad过程解析scene参数,跳转问题
在刚开始的时候将小程序的入口文件直接指向tabbar 的首页,此时出现问题:二维码扫描,第一次不关闭首页,第二次进入时:不会经过onLoad过程解析scene参数: 官方中解释:tabbar跳转方式触 ...
- 分页控件Webdiyer.MvcPager
MVC 1.安装控件 install-package Webdiyer.MvcPager 2.Cotroller using System; using System.Collections.Gene ...
- socket编程和并发服务器
socket这个词可以表示很多概念: 在TCP/IP协议中,“IP地址+TCP或UDP端口号”唯一标识网络通讯中的一个进程,“IP地址+端口号”就称为socket. 在TCP协议中,建立连接的两个进程 ...