一,JavaScript基本语法
一,JavaScript的历史
是由于以前的网景公司(Netscape)【创建过第一个浏览器 nn浏览器】的员工:布兰登·艾奇 用了10个工作日的时间,设计出来的一门语音,原名叫LiveScript。因为当时的程序员很崇拜java这一门语言,为此在网景公司在发布的时候,将之改名为 JavaScript;也有一种原因是想要利用java这一个因特网的时髦词汇,将JavaScript推上热门。
JavaScript原本的创造出来的用意是为了解决网络上传输速度特别慢的问题。
二,JavaScript的组成
有三部分组成
- ECMAScript (欧洲计算机制造商协会) 确定了语法标准
- DOM 操作html文档的标准 document文档
- BOM 操作浏览器的标准 browser浏览器
三,javascript的概念
支持面向对象的跨平台脚本语言,且必须依赖于html才能在浏览器上运行
四,javascript的应用场景
- 表单验证:规范用户输入数据,和后台数据进行交互
- 网页特效:给网页内容加行为,让1网页动起来
- 游戏开发:飞机大战,打砖块
- 物联网 JavaScript与物联网 - 知乎
五,js和h5的关系
- 广义上:大前端主要技术包含:html+css+html5+css3+JavaScript+前端框架(vue+react+angular)+app+小程序+...
- 狭义上:h5表示为html的第五个版本,h5的新增的标签,有一些标签的强大之处需要js支撑
六,js的书写
1.写在html标签中,以一个script双标签来表现的
2.三种写法
(1)行内:一般在标签中使用
(2)内联:一般用于学习的时候使用
使用方法:script标签中写js代码
(3).外联:一般用于写项目的时候
运用script的src属性引入外部js文件
script标签引用时外联和内联只能二选一,一般可以将script写在body结束的位置
七,js的注释
1.单行注释
ctrl + /
2.多行注释
/* */
设置/键盘快捷方式/切换块注释
shit + alt + ↓ 实现将当前行复制到下一行
ctrl + d 将跟当前相同的内容一起选中
ctrl + x 将当前行剪切
八,js的输出方式
1.alert() 弹窗 给用户做提示
2.document.write() 写在body中
3.confirm() 询问用户是否继续操作(比如删除时,退出时)
4.prompt() 让用户输入的弹窗
5.console.log() 显示在控制台 调试代码
九,js的变量
1.概念:存储数据的容器,并且值是可变的
2.定义:
var 变量名,变量名
3.变量名称的要求:
由字母,数字,下划线,美元符号组成,
但不能用数字开头
不能使用关键字
一些关键字
3.赋值
var 变量名=值
= 为赋值符,左边一定是变量,右边一定是值,
作用就是将右边的值放在左边的变量中
十,js的数据类型
检测数据类型 :typeof
1.number数字类型
NaN:not a number 字母首拼 含义:不是一个具体的数字,数据类型为number
isNaN() 用来检测数据是否是数字,
true不是数字,flase是数字;
小数计算不精准
解决方法:
1.扩大10的倍数,然后运算在缩小10的倍数
2.数字.toFixed(位数) 结果是字符串
表示取小数点后的几位数字。
可以在最后用【*1 或者 /1 或者 -0】来把值转为number类型
2.string字符串类型
- 引号不能嵌套自己,除非用转义符: \
- document.write可以输出标签,一定要标签当做字符串放在document.write中
- 字符串和字符串之间使用 + 可以进行拼接
- + 左右两边只要一个是字符串,就会把 + 变成拼接的意思
3.boolean布尔类型
1。true 表示为真
2。flase 表示为假
4.undefined未定义类型
定义了变量,但是没有赋值时,值是undefined,类型也是undefined
5.object对象类型
null 空
{}
[]
十一,js中的运算
1.算数运算 + - * / %
2.比较运算 > < > = <= == === != !===
3.赋值运算 += -= *= /= %=
4.逻辑运算 && || !
5.自增自减
++ 让自己自增1
-- 让自己自减1
特点:
当自己进行自增自减的时候,符号放在前面放后面没区别
当符号碰到赋值的赋值,运算,输出的时候,
如果符号放在前面就先自增自减
放后面就后自增自减
十二,类型转换
在数据类型中,某些场景下,需要将类型转换成另外一种类型才能完成
转化后类型为:number string boolean
被转化的类型:number string boolean null underfined
(一),转成number
1.强制转换:利用js系统提供的工具来转换
总结:
Number()
空字符串转成0
数字字符串转成数字
true转成1
false转成0
null转成0
其他都是NaN
parseInt()
字符串开头有整数,取到整数
其他都是NaN
parseFloat()
字符串开头有数字-带小数点 - 取到前面的这个数字
其他都是NaN
(1)。Number()
// 将字符串转成number var str = '11'; var num = Number(str); console.log(num);
// 数字字符串可以转成具体数字,空字符串可以转成0,其他字符串都是NaN var str = '' var num = Number(str) console.log(num)
// 将boolean转成number // true 为 1 ,false 为 0 ; var bool = false var num = Number(bool) console.log(num);
// 将null转成数字 ----------- 0 var a = null var num =Number(a) console.log(num);
// undefined 转数字 -------- NaN var a var num = Number(a) console.log(num);
(2)。parseInt()
只有开头有整数的字符串能转成具体的数字,其他数据都是NaN
// 字符串转数字 -结果是 从前到后找到的第一个整数 var str1='11.88' var str2='dwnj11.88' var str3='11.84dafff' console.log(parseInt(str1)) console.log(parseInt(str2)) console.log(parseInt(str3))
// boolean 转成数字 ------ NaN var bool = false var num = parseInt(bool) console.log(num);
// null 转为 数字 ------ NaNvar a = null var num = parseInt(a) console.log(num);
// undefined(未定义样式) 转化为 数字 ------- NaN var a var num = parseInt(a) console.log(num);
(3)。parseFloat()
// 字符串转数字 -- 从前往后截取数字 ----- 可带小数 var str1='11.88' var str2='dwnj11.88' var str3='11.84dafff' console.log(parseFloat(str1)) console.log(parseFloat(str2)) console.log(parseFloat(str3))
// 其他数据转成数字 ------ NaN var bool var num = parseFloat(bool) console.log(num);
2.隐形转换:没有使用工具,利用的是运算
数字运算 比较运算
(1)字符串转数字
// 当字符串碰到数字运算(除了加分)的时候,会直接转为数字,进行数学运算
var a = 10
var b = '5'
var c = a - b
alert(c) ----------- 5
// 当字符串跟数字进行比较运算的时候,
// 只要左右两边有一个是数字,两一个也会转为数字进形大小比较
var a = 10
var b = '5'
var result = a > b
alert(result); ------------ true
(2)。布尔转数字
var a = 2 + true
alert(a); // 3var result = 2 > true
alert(result); // true
(二),转成string
总结:
强制:
String()
数据.toString()
隐形:
+号一边是字符串,另一半就会转成字符串
1。强制转换
(1)。String()
var num = true
var str = String(num)
console.log(str)
console.log(typeof(str)) // string
(2)。数据.toString()
var num = true
var str = num.toString()
console.log(str)
console.log(typeof(str)) // string
2.隐性转换
// + 号左右两边有一个是字符串,另外一个也会跟着转成字符串,然后进行拼接
var num = 20
var result = num + '11'
console.log(result) // 2011
console.log(typeof(result)) //string
(三),转成布尔
总结
转布尔后的值为 false 的有 : 0 空字符串 undefined null
其他数据都是 true
强制转换 -------- Boolean()
// 数字转布尔 - 0 转成 false ,其他都是 true var num = 0 var bool = Boolean(num) console.log(bool) ;
// 字符串转布尔 - 空字符串转成false 其他都是true var str = '' var bool = Boolean(str) console.log(bool);
// undefined 转布尔 ------ false var a var bool = Boolean(a) console.log(bool);
// null 转布尔 ------ false var a = null var bool = Boolean(a) console.log(bool);
十三,进制间的转换
(1),16进制的FF 转为 10进制
(2),2进制的11011转为10进制
(3),10进制的11转为2进制 ------ 反向取余数
一,JavaScript基本语法相关推荐
- javascript基础语法——表达式
前面的话 一般地,关于javascript基础语法,人们听得比较多的术语是操作符和语句.但是,其实还有一个术语经常使用,却很少被提到,这就是javascript表达式(expression).本文将详 ...
- VS集成环境中的JavaScript脚本语法检查
集成在Visual Studio环境中的JavaScript脚本语法检查. 1.可以直接检验js文件,也可以检验html和aspx页面上的脚本语法. 2.集成环境中直接使用,双击定位到语法错误处. 3 ...
- javascript基础语法——词法结构
前面的话 javascript是一门简单的语言,也是一门复杂的语言.说它简单,是因为学会使用它只需片刻功夫:而说它复杂,是因为要真正掌握它则需要数年时间.实际上,前端工程师很大程度上就是指javasc ...
- 谈一下JavaScript的语法
JavaScript是一门很优美的语言,今天我们谈一下JavaScript的语法! 首先我们说一下变量,变量对于没有编程基础的朋友来说可以理解为一个空的盒子,我们首先为这个盒子取一个名字 'box' ...
- JavaScript基本语法(续)
JavaScript基本语法续 文章目录 JavaScript基本语法续 一.Javascript组成 二.字符串处理方法 1.字符串合并操作:" + " 2.parseInt() ...
- web前端学习:1分钟了解JavaScript基础语法规则
俗话说,"无规矩不成方圆".用在计算机语言上也同样使用.每种计算机语言都有自己的语法规则,只有遵循语法规则才能写出符合要求的代码.JavaScript也不例外,在使用JavaScr ...
- 基于正则表达式的JavaScript/C++语法高亮(js版)
JavaScript的语法高亮一直是个难点,因为需要语义分析以确定/是除法操作的开始还是正则表达式的开始.目前关于高亮js的语法高亮都不是很理想,尤其是syntaxhighlighter(你待会看到的 ...
- JavaScript|JavaScript 高级语法——详细汇总
JavaScript 高级语法 目录 JavaScript 高级语法 一.变量提升和函数提升 作用域的概念 1. 变量提升 ① 变量提升 ② 变量提升后,与外界同名变量不会相互影响 ③ 多次声明变量 ...
- vue|JavaScript let语法
vue|JavaScript let语法 let 语句声明一个块级作用域的本地变量,并且可选的将其初始化为一个值. 语法 <span style="color:#333333&qu ...
- JavaScript的语法解析与抽象语法树
抽象语法树(Abstract Syntax Tree)也称为AST语法树,指的是源代码语法所对应的树状结构.也就是说,对于一种具体编程语言下的源代码,通过构建语法树的形式将源代码中的语句映射到树中的每 ...
最新文章
- 团体程序设计天梯赛-练习集-L1-044. 稳赢
- ASP.NET图形化的曲线图类
- 华为手机怎么隐藏按键图标_华为手机8个隐藏功能,快来看看有没有你不知道的...
- 卷积神经网络VGG16权重数量的计算和理解(转载)
- Taro+react开发(53) Taro提示操作
- iOS HTML标签字符实体,转译字符串归类大全 【转载】
- Image Warp插件实现图片点击扩大渐隐效果
- ios开发 多人语音聊天_iOS 新手集成单聊、群聊、语音和视频通话的简述
- 举例让抽象问题具体化:二叉搜索树的后序遍历序列
- 我们想赚钱,首先要帮助我们的团队,让他们提升能力让他们赚到钱
- 数据库课程设计(实训)
- 美容院店务管理系统哪家好?
- EXCEL中汉字转变拼音的技巧~代码实现
- ai画面怎么调大小_AI页面面板中如何调尺寸
- Spring Boot 核心注解?主要由哪几个注解组成?
- java多线程 isAlive方法的有趣现象
- 如何提高项目估算精准度 关键有3方面
- 如何抓包分析BLE 空口报文(GAP + GATT + LESC procedure)?
- 机器学习笔记(三)—— 二向箔(从PCA到SVD)
- java基础巩固-宇宙第一AiYWM:为了维持生计,架构知识+分布式微服务+高并发高可用高性能知识序幕就此拉开(一:总览篇)~整起