1 JS 概述

  1 简称JS,是一种浏览器解释型语言,代码嵌套在HTML页面中,将由浏览器解释执行

    作用:主要用来实现页面的动态效果,实现用户交互,实现网页中的网络请求

2 JS 组成 :

  1 ECMAScript  

  2 内置对象:BOM DOM  其他内置对象

  3 自定义对象:

3 JS使用方式

  1 元素绑定

    给具体的元素绑定JS的事件

    事件:由用户行为触发的操作

    语法:

      <标签 事件函数名=‘JS代码’>

      et:

        onclick:单击事件

        alert('  '); 网页弹框显示信息

  2 文档内嵌:

    使用<script></script>在文档中嵌入JS代码

    可以书写在任意位置,出现任意多次

      常用的JS语句: alert()  console.log('在控制台输出一句话')

  3 外部JS文件

    1 创建外部 .JS文件

    2 使用script标签引入外部的JS文件

      <script src></script>

    注意:script标签用来引入外部文件时,标签中不能再书写js代码

    如果脚本标签做引入操作,那么标签内不能再书写JS代码

  4 常用JS语句

    1  alert();以警告框的形式提示信息

    2 prompt();接收用户输入的弹框,输入结果会以函数返回值的形式给出

    3 consoe.log() 在控制台输出,常用于调试

    4 document.write(); 在网页中输出

    注意:

      1 document.write()方法会根据当前的书写位置在网页中插入内容

      2 如果以元素绑定事件的方式在网页中写入内容,onclick='document.write();'会清空当前页,只显示写入的内容

      3 使用document.write()方法写入内容,可以识别html标签

JS  基础语法
1 .js代码是由语句组成的,每一条语句以分号结尾;
语句是由关键字,运算会,表达式组成的
2 JS代码严格区分大小写
console.log();正解
Console.log();错误
3 所有的标点都是英文的
4 JS中的注释
// 表示单行注释
/* 注释内容 */ 多行注释
4 JS中的变量与常量
1 变量:
1 创建变量
1 。先声明,后赋值 使用var关键字进行变量的声明,自定义变量名
2 声明的同时赋值
2 命名规范
1 由数字,字母,下划线和$组成,禁止以数字开头,
2 避免与关键字,保留字冲突
3 做到见名知意
4 严格区分大小写
5 多个单词组成变量名,采用小驼峰标识
3 使用注意
1 变量声明可以省略关键字var,直接使用变量名赋值,
不推荐省略关键字,涉及到变量作用域,
2 变量如果只声明,未赋值,默认值为undefined
3 赋值符号表示将右边的值赋给左边变量,要求左边必须是变量
2 常量
变量可以在程序任何地方修改,常量一经定义就不能更改
1 创建
使用const关键字创建常量,声明的同时必须赋值
2 语法规范
为了区分变量与常量,一般变量名采用小写或驼峰标识常量采用全大写的形式
3 小数位的操作
1 小数在计算机的存储中是不精确的,存在误差
2 指定保留小数位
方法:toFixed(n);n表示需要保留的小数位数
5 JS中的数据类型
1 基础数据类型(基础)
1 number 类型
数值类型,包含整数和小数
整数在内存中占4个字节(32位),小数占8个字节(64位)
1 整数
可以使用十进制,八进制,十六进制表示整数
八进制:以0开头
8为基数,取值0-7,逢8进1
et:
var a=010;
十六进制:以0x 为前缀
et:
var c= 0x25;//
注意:
不管是哪一种进制表示的整数,在使用控制台输出时,都会转换为10进制输出显示
2 小数 也叫浮点数
2 科学计数法
var b = 1.5e3
e 表示10为底
e 后面的数值,表示10的次方数
计算方式:
1.5*10(3)
2 string类型
1 js 中字符串使用引号引起来,单双引号都可以
2 字符串有每个字符都有对应的Unicode码值
1 查看字符的Unicode码
方法:charCodeAt(index)
字符串中每个字符都对应一个下标,从0开始
2 Unicode码
Unicode码值中前128位与ASC码对应一致
中文字符的范围(十六进制表示)
"\u4eoo - \u9fa5"
3 将汉字的Unicode码转换为汉字字符
1 Unicode码转换为十六进制
toString(16); 将十进制数字转换为十六进制,,返回字符串
2 在十六进制字符串前添加\u转义,转换为汉字
4 转义字符
\n 换行
\t 制表符
\\ 表示\
\" 表示"
\' 表示'
3 boolean类型
只有真和假 true false;表达式进行关系运算的结果一定是布尔类型
4 undefined
1 变量声明未赋值,默认为undefined
2 访问对象不存在的属性时,也为undefined
5 null
空类型,一般用来解除对象的引用
2 复杂数据类型(引用)
对象 函数
3 判断数据类型
操作符typeof typeof()
var a = 10;
6 JS 中数据类型转换
1 自动类型转换(隐式)
1 number+string类型
字符串使用+参与运算,都视为字符串的拼接,不再是数学运算
转换规则:
将参与运算的非字符串内容,自动转换为string规则,再进行字符串的转换
2 boolena + string
涉及字符串的+操作,都为字符串拼接
true + '10' // true10
3 number + boolean
将布尔值转换为number类型,再进行相加运算
true =1 ;
false =0;
2 强制类型转换
1 字符串转换number类型
1 Number(string)
可以将非数字类型转换为number
1 数字字符串‘100’可以使用该方法转换类型
2 包含非数字的字符串‘100a',转换结果为NaN
not a number,表示转换失败
3 布尔类型转换number,对应1 和0
2 从字符串中解析数字
1 parseInt(str)
1 用来解析字符串中的整数,参数如果不是字符串,会自动转换为字符串再进行解析
2 只对字符串开头部分进行采摘,如果首个字符不是数字,直接返回NaN
2 parseFloat(str)
用来解析字符串中的整数和小数部分
2 将非字符串类型转换为 string类型
7 运算符
1 算术运算
+ - * / %
++ -- 自增加和自减运算 1 + - * / %
1 字符串+,表示拼接
2 数字字符串参与数学运算(- * / % ),会自动转换数据类型,转成number后参与运算,
3 布尔类型的数据会自动转换为number 1或0 参与数学运算
2 ++ --
1 自增运算符,自减运算符,表示在自身基础上进行+1 -1 的操作
2 只有变量能使用++ -- ,常量不能自增或自减
3 单独使用++ -- 与变量结合,做前缀或后缀没有区别,都是对变量进行+1 或 -1操作
et :
var a = 10;
++a;
--a;
4 如果与其他运算符结合,前缀和后缀会影响结果
et:
与赋值符号结合
var a = 10;
var r = a++;// 先赋值,后自增
var r1 == ++a;//先自增,后赋值
2 比较运算符(比较运算符)
> >= < <= == != === !==
1 数字与数字之间的比较
2 字符串之间的比较
1 string 与 number 之间进行关系运算
自动将string 转换为number,再进行比较;
如果string无法转换为number,则进行NaN与number的比较,结果永远为false
2 string 与 string 之间进行关系运算
进行每一位字符Unicode码值的比较,从前往后,如果第一位字符可以比较出结果,就直接获取结果,
如果无法出结果,依次进行后一位字符的比较
3 判断相等与恒等
== 判断相等,只进行值得比较,包含数据类型转换
=== 判断恒等,不允许数据类型转换,比较类型与值判断相等时,会发生自动类型转换,最终结果相等,即为true
判断恒等,要求操作数据类型一致,值相等,才返回true
4 判断不等和不恒等
!= 判断不等,两个操作数的值不相等时返回true
!== 判断不恒等,两个操作数类型与值之间只要有一项不同,都返回true
3 逻辑运算
逻辑与:&&
逻辑或:||
逻辑非:!
逻辑运算与关系运算的结果都为布尔类型
1 逻辑与
两个表达式同时为真,逻辑运算的结果才为真。
条件1 条件2 结果
&& true true true
&& false true false
&& true false false
2 逻辑或,
只要有一个主真,逻辑或的结果就为真。
3 逻辑非:
非真即假。对表达式的结果进行取非操作
1 运算符
1 位运算符
程序中的数据在计算机中都是以二进制形式存储的,位去处实际上是对二进制的每一位进行操作
1 按位与 &
  将操作数转换二进制之后,按位与,相同则为1 ,不同则为0
3 &5 =1
使用,常用于判断整数的奇偶,将一个操作数与1做位与,结果为1 ,该操作数为基数,结果为0说明操作数为偶数
3 & 1 =1
2 & 1 = 0
2 按位或:|
将操作数转换为二进制之后,做位或,相同.
3 异或操作可以在不借助三方变量的情况下互换两个变量的值
2 三目运算符
语法:
表达式1 ? 表达式2: 表达式3
使用:
1 判断表达式1 的结果(布尔值)
2 如果表达式1 结果为true,执行表达式2
3 如果表达式1结果为false ,执行表达式3
2 流程控制
控制代码的执行顺序
流程控制语句:
1 顺序结构:代码自上至下一行一行执行
2 选择结构(分支)
3 循环结构
1 选择结构:
根据条件判断的结果选择执行某一段代码
语法:
1 if(判断条件){
条件为真执行的代码段,条件为假时,会跳过
}
注意:
1{}可以省略,省略之后,认为if()后面的第一条语句是条件成立时待执行的语句
2 判断条件必须是布尔类型的结果
3 非零值都为真,零为假
以下条件都为假:
if(0){}
if(0.0){}
if(''){}
if(NaN){}
if(undefined){}
if(null){}
2 if-else语句
语法:
if(){'条件为真执行'}
else{'条件为假执行'}
3 if-else if语句
多重分支结构
if(条件1){条件1成立时执行}
else if(条件2){条件2成立时执行}
else if(...){}
else{条件不满足时执行}
2 swith语句
语法:
switch(值)
{case 1:值匹配恒等时,执行的语句
break;
case 2:值匹配待执行的语句
break;}
注意:
1 switch一般用于值得匹配,()中表示的是值
2 case可以使用多个,每个case对应一种情况
3 case 后面直接写要对应匹配的值
et:
var a= 20;
switch(a){
case 1:console.log('a=1');break;
case 10:console.log('a=10');break;
default: console.log('查询不到'); }
4 如果case给出的值匹配成功,执行当前的case:后面的语句
5 break用于跳出匹配,不再向下执行匹配
6 default 表示所有的case都匹配失败之后默认执行语句;
其他情况:
1 default关键字一般写在switch的末尾,匹配失败之后最终执行的操作,可以省略
2 break表示跳出switch语句,可以省略,如果省略break ,
2 循环结构
重复执行某一段代码
1 循环语句的三要素
1 循环变量
2 循环条件
3 循环体
2 语法:
1 while 循环
while(循环条件){条件成立时,执行循环体}
执行流程:
1 定义循环变量
2 判断循环条件
3 条件成立,执行循环体
4 更新循环变量(重点)
5 重复步骤234,直到条件不成立跳出循环
2 do-while循环
do{
循环体
}while(循环条件);
执行流程:
1 定义循环变量
2 执行do操作,循环体
3 循环体中更新循环变量
4 判断循环条件,决定是否继续执行循环体
特点:
do-while循环不管条件是否成立,都至少执行一次循环体
3 for 循环
for(定义循环变量;循环条件;更新循环变量){
循环体
}
for循环与while循环:
1 循环的执行流程相同
2 for 循环常用于确定循环次数的场合
while循环常用于不确定循环次数的场合
4 循环控制
1 continue 跳出本次循环,开始下一次循环
2 break结束循环,break直接结束循环,
3 循环的嵌套
可以在循环中再次嵌套其他循环 生成样式代码、
*
***
***** <script type='text/javascript'>
var aa = Number(prompt('输入整数'))
var a = aa+1 ;
for(var i=1;i<a;i++){
var show='';
for(var jj=0;jj<a-i;jj++){show+=' '}
var _ = i*2-1
for(var ii=0;ii<_;ii++){show+='*'}
console.log(show)
document.write(show+'<br>')
}
</script> 乘法表
<script type='text/javascript'>
var a = 10 ;
for(var i=1;i<a;i++){
var show=''
for (var ii=1;ii<=i;ii++){
show+=i;
show+='*';
show+=ii;
show+='='
show+=i*ii;
show+=' '; }
console.log(show)
// console.log(i,'*',ii,'=',i*ii,'')
}
</script>

js 概述 ( 一 )的更多相关文章

  1. 从零开始学 Web 之 Vue.js(一)Vue.js概述,基本结构,指令,事件修饰符,样式

    大家好,这里是「 从零开始学 Web 系列教程 」,并在下列地址同步更新...... github:https://github.com/Daotin/Web 微信公众号:Web前端之巅 博客园:ht ...

  2. Node.js 概述

    JavaScript 标准参考教程(alpha) 草稿二:Node.js Node.js 概述 GitHub TOP Node.js 概述 来自<JavaScript 标准参考教程(alpha) ...

  3. JS基础-表单元素-新表单元素-js概述

    1.表单元素 1.input元素 1.隐藏域和文件选项框 1.隐藏域 <input type="hidden"> 要提交给服务器的数据,但是不想展示给用户看可以放在隐藏 ...

  4. Vue.js - 概述

    概述 Vue.js(读音 /vjuː/, 类似于 view)是一个构建数据驱动的 web 界面的库.Vue.js 的目标是通过尽可能简单的 API 实现响应的数据绑定和组合的视图组件. Vue.js ...

  5. 前端学习笔记--js概述与基础语法、变量、数据类型、运算符与表达式

    本篇记录js的概述与基础语法.变量.数据类型.运算符与表达式 1.概述与基础语法 2.变量 举例: 3.数据类型 4.运算符与表达式

  6. JavaScript学习01(js概述)

    JavaScript概述 JavaScript历史 要了解JavaScript,我们首先要了解一下JavaScript的诞生. 在上个世纪的1995年,当时的网景公司正凭借其Navigator浏览器成 ...

  7. JS 概述

    HTML+javascript+CSSjavascript 1995出现,JQuery -2006出现--React.js 阿里/美团/去哪儿 2013, Facebook发布UI框架库React,引 ...

  8. (一)js概述

    1.    js:弱类型,动态类型,解释型的脚本语言. 2.    网景,布兰登艾奇,js和java没有关系,js的标准:ECMAscript. 3.    js组成:ECMAscript + Bom ...

  9. Node.js概述

    Node.js最重要的特性:通过单线程实现异步处理环境 Node.js解决的问题: Node.js修改了客户端连接服务器端的连接方法,不需要为每个客户端连接创建一个新的线程,而是为每个客户端连接触发一 ...

随机推荐

  1. Lombok子类与父类的@Builder注解冲突

    解决方法之一:去掉父类的@builder 缺点:父类不能使用Builder构造器模式 来源:https://www.cnblogs.com/lori/p/10266508.html

  2. python 优雅的解析 jsonp

    一段 jsonp 格式数据 mtopjsonpweexcb1({"api":"mtop.taobao.idle.recycle.nextspunav.get", ...

  3. 高级UI-RecyclerView头部和尾部添加

    在ListView中,可以添加头部和尾部,其添加方法也是十分的简单,直接调用listview.addHeaderView(view);和listview.addFooterView(view);即可, ...

  4. 在vue中使用axios发送post请求,参数方式

    由于后台接收的参数格式为FormData格式, 在axios中参数格式默认为, 在传参数前,将原先官方提供的格式 改为如下: axios({ url: '../../../room/listRoomP ...

  5. python 文件读写操作(24)

    以前的代码都是直接将数据输出到控制台,实际上我们也可以通过读/写文件的方式读取/输出到磁盘文件中,文件读写简称I/O操作.文件I/O操作一共分为四部分:打开(open)/读取(read)/写入(wri ...

  6. 基于.Net Standard开发的微信服务端开源库

    一直想做一个开源库, 为社区贡献一份力量, 同时提高一下自己 一年来在给公司做一款微信小程序, 于是突发奇想用.Net Standard做一整套微信开发服务端类库 地址: https://gitee. ...

  7. [CF788B]Weird journey_欧拉回路

    Weird journey 题目链接:http://codeforces.com/contest/788/problem/B 数据范围:略. 题解: 我们发现就是要求,把每条无向边拆成两条无向边,其中 ...

  8. BBC这10部国宝级纪录片,让孩子看遍世间最美的地方

    https://weibo.com/ttarticle/p/show?id=2309404382383649486138#related

  9. 《Mysql 一条 SQL 更新语句是如何执行的?(Redo log)》

    一:更新流程 - 对于更新来说,也同样会根据 SQL 的执行流程进行. -  - 连接器 - 连接数据库,具体的不做赘述. - 查询缓存 - 在一个表上有更新的时候,跟这个表有关的查询缓存会失效. - ...

  10. java日志框架系列(8):logback框架PatternLayout详解

    当你想要将记录以你想要的的格式写到目的地时,那么你就需要了解如何设置自定义的格式了. 1.PatternLayout 转换模式:由文本文字和格式转换符组成. 下面了解一下格式转换符与格式修饰符表示的意 ...