使用js的三种方式
1、HTML标签内嵌js
<button onclick="javascript:alert(真点啊)">有本事点我</button>
不提倡使用
2、HTML页面中直接使用js
<script type="text/javascript">
js代码
</script>
3、引用外部js文件
<script language="JavaScript" src="js文件路径">
 
</script>
【注意事项】
1、页面中js代码和引用js代码可以嵌入到HTML页面任何位置。但是,位置不同会影响到js代码的执行顺序(script标签在body前面,会在页面加载前执行js代码)
2、页面中js代码,使用<script language="JavaScript" src="js文件路径"></script>
3、引用外部js文件的script标签必须成对出现,且标签内部不能有任何代码
 
【js中的变量】
* 1、js中的变量声明的写法:
* var width = 10;//使用var声明的变量,只在当前函数作用域生效
* width = 10;//不使用var,直接赋值生成的变量,默认为全局变量,整个js文件有效
* var a,b,c=1;同时声明多个变量,变量之间用英文逗号分隔。但赋值需要单独赋,例如上式中只有c赋值为1,ab为undefined(未定义说明这是一个变量)
* 【声明变量注意事项】
* ①js所有变量类型声明,均使用var关键字。变量的具体数据类型,取决于给变量赋值的执行
* ②同一变量可以在多次不同赋值时,修改变量的数据类型
* var width = 10;//width 位整形变量
* width="哈哈";//width被改为字符串类型
* ③使用var声明的变量,只在当前函数作用域生效,不使用var,直接赋值生成的变量,默认为全局变量,整个js文件有效
* ④同一变量名可以多次用var声明,但是并没有任何含义,也不会报错,第二次之后的声明只会被理解为赋值
* 2、变量的命名规范
* ①变量名只能由字母数字下划线和$符号组成
* ②开头不能是数字
* ③变量区分大写小写,大写字母与小写字母为不同变量
*
* 3、变量名命名要符合驼峰法则:
* 变量开头为小写,之后每个单词首字母大写;
* 4、JS中的变量的数据类型
* undefned:未定义,用var声明的变量没有进行初始化赋值 var a;
* null:代表特殊的变量类型,表示空的引用。例如:空的对象,数组,
* boolean;真假,可选值ture/false
* number:数值类型。可以是小数,也可以是整数
* strig:字符串类型。用""或''包裹的内容,成为字符串
* 5、常用的数值函数
* ①isNaN:用于判断一个变量或常量是否为NaN(非数值)
* 使用isNaN,会尝试使用Number()函数进行转换,如果能转换为数字,则不是非数值,结果为false
* "111"纯数字字符串,false "" 空字符串, false "1a" 包含其他字符 ture
* ture/false布尔类型,false
* ②Number()将其他类型转化为数值类型
* 【字符串类型转数值】
* >>>字符串为纯数字字符串,转为对应数字
* >>>字符串为空字符串时转为0
* >>>字符串包含其他非数字字符时,不能转换 "11a"->NAN
* 【boolean】
* true->1 fales->0
* 【null 和 undefined】
* null ->0 undefined->NAN
* 【object】
* 先调用valueof方法,确定函数是否有返回值,再根据上述情况判断。
*/
 
/*
* document.write()
* 输出语句,将write()中的内容打印在浏览器上
*
*
* 使用注意:除变量、常量以外的任何内容,打印室必须放到""中
* document.write("右手中纸牌:"+right+"<br />"+"<br />");
* 打印的内容同时由多部分组成,之间用+连接
*
* parseINT:将字符串转换为数值
* >>>空字符串,不能转,结果NAN
* >>>纯数值字符串,能转。"123"->123 "123.5"->123(小数转换时直接抹掉小数,不四舍五入)
* >>>包含其他字符的字符串。会截取第一个非数值字符的前面部分 "123a456"->123 "a123b456"->NAN
* parseint只能转string类型,Boolean/null/undefined 均为NaN
*
* parsefloat:将字符串转为数字:使用方式同parseint 但是当转换小数字符串时,保留小数点,转换整数字符串时,保留整数。
*
*
* typeof用来检测变量数据类型
* 未定义>undefined 字符串->string true/false->boolean
* 数值->number 对象/null->object 函数->function
 
 
算术运算
+ 加、- 减、* 乘、 / 除、 % 取余、++ 自增、-- 自减
+:有两种作用,链接字符串/加法运算;当+两边均为数字时,进行加法运算,当+两边有任意一边为字符串时,进行字符串连接,连接之后的结果仍为字符串
++:自加运算符,将变量在原有基础上加一
--:自减运算符,将变量在原有基础上减一
 
赋值运算
=赋值 += -= *= /= %=
 
+=:a+=5;相当于a=a+5;但是,前者的执行效率要比后者快
关系运算
==等于、===严格等于 !=不等于、>、<、>=、<=
 
===:严格等于:类型不同,false;类型相同,再进行下一步判断;
==:等于,在类型相同时,同===,在类型不同时,尝试将等式两边用number函数转为数字再判断;
null==undefined√ null===undefined×
 
条件运算符(多目运算)
a>b?true:false
 
可以多层嵌套
有两个关键符号?和:
当问号前面的部分运算结果为true时,执行:前面的代码,当问号前面的部分运算结果为false时,执行:后面的代码
 
逻辑运算符
&&与、||或、!非
 
 
[运算符优先级]
()
! ++ --
% / *
+ -
> < >= <=
== !=
&&
||
各种赋值 = += *= /= %=
 
*/
 
/*【n++与++n】
* n++先使用n的值计算,再把n+1
* ++n先把n的值加一,然后再用n+1之后的值计算;
* 相同点:不论n++还是++n在执行完代码后均会把n加一
 
注意:
2、if()中的表达式,运算之后的结果为:
①Boolean: true真 false假
②String:非空字符串为真,空为假
③Null/NaN/Undefined:全为假
④Object:全为真
⑤number:0为假,一切非0均为真
3、else结构可以根据条件省略;
 
JS中的循环结构
 
【循环结构的步骤】
* ①声明循环变量
* ②判断循环条件
* ③执行循环体
* ④更新循环变量
*
* 【JS循环条件支持的数据类型】
* ①Boolean: true真 false假
②String:非空字符串为真,空为假
③Null/NaN/Undefined:全为假
④Object:全为真
⑤number:0为假,一切非0均为真
 
var n = 1;//声明循环变量
while (n<=10){//判断循环条件
document.write("打印<br/>");//执行循环体
n+=2;//更新循环变量
}
 
 
do while循环特点,先执行后判断,至少执行一次
 
【for循环】
1、for循环有三个表达式:①定义循环变量②判断循环条件③更新循环变量‘三个表达式均可省略,两个;缺一不可。
2、for循环特点:先判断再执行
3、for循环三个表达式之间均可以由多部分组成,之间用逗号分隔,但是第二部分判断条件用&&连接,最终结果需要为真/假
 
 
 
函数

[函数的声明及调用]

1、>>>函数声明的格式:
function 函数名(参数1,参数2,……){
// 函数体
return 结果;
}

>>>函数调用的格式:
直接调用:函数名(参数1的值,参数2的值,……);
事件调用:事件名=函数名();

2、函数声明的几点强调:
① 函数名的声明,必须符合小驼峰法则(首字母小写,之后每个单词首字母大写);
② 参数列表,可以有参数,可以无参数。分别称为有参函数,无参函数;
③ 声明函数时的参数列表,称为“形参列表”(变量的名);
调用函数时的参数列表,称为“实参列表”(变量的值);
函数中,实际有效的参数取决于实参的赋值,未被赋值的形参,将为Undefined;
④ 函数如果需要返回值,可用return返回结果。
调用函数时,使用var 变量名=函数名();的方式,接受返回结果;
如果函数没有返回值,则接受的结果为Undefined。

⑤ 函数中变量的作用域:
在函数中,使用var声明的变量,默认为函数局部变量,只在函数内容能用;
不用var声明的变量,默认为全局变量(函数中的全局变量,必须在函数调用后,才能使用)。
函数的形参列表,为函数局部变量,只在函数内部能用;

⑥ 函数声明与函数调用,没有先后之分。即,调用语句可写在声明语句之前。

JS操作BOM

重点【window对象的常用方法】
* >>>window对象中所有方法均可以省略前面的window. 比如close();
* 1、prompt:弹窗接受用户输入:
* 2、alert:弹窗提示
* 3、confirm:带有确认取消按钮的提示框
* 4、close:关闭当前浏览器选项卡
* 5、open:重新打开一个窗口
* 6、settimeout设置延时执行
* 7、setinterval:设置定时器,循环每隔N个毫秒数执行一次
* 两个参数:需要执行的function / 毫秒数
*
* 8、cleartimeout:清除延时
* 9、clearinterval:清除定时器
* 传入参数:调用setInterval时返回一个ID,通过变量接收ID,传入clearInterval;

 
 
 
 
 

JS基础知识简介的更多相关文章

  1. [JS复习] JS 基础知识

    项目结尾,空闲时间,又把<JS 基础知识> 这本书过了一遍,温故知新后,很多知其然不知其所以然的内容 豁然开朗. [1. 用于范围的标签] display  :inline or bloc ...

  2. HTML+CSS+JS基础知识

    HTML+CSS+JS基础知识 目录 对HTML+CSS+JS的理解 基础知识 对HTML+CSS+JS的理解 基础知识 插入样式表的三种方式 外部样式表:<link rel="sty ...

  3. Node.js基础知识

    Node.js入门   Node.js     Node.js是一套用来编写高性能网络服务器的JavaScript工具包,一系列的变化由此开始.比较独特的是,Node.js会假设在POSIX环境下运行 ...

  4. 网站开发进阶(十五)JS基础知识充电站

    JS基础知识充电站 1.javascript alert弹出对话框时确定和取消两个按钮返回值? 用的不是alert对话框,是confirm confirm(str); 参数str:你要说的话或问题: ...

  5. SpringCloud(1) 架构演进和基础知识简介

    一.传统架构演进到分布式架构 简介:讲解单机应用和分布式应用架构演进基础知识 (画图) 高可用 LVS+keepalive 1.单体应用:开发速度慢.启动时间长.依赖庞大.等等 2.微服务:易开发.理 ...

  6. NodeJs>------->>第三章:Node.js基础知识

    第三章:Node.js基础知识 一:Node.js中的控制台 1:console.log.console.info  方法 console.log(" node app1.js 1> ...

  7. JS基础知识笔记

    2020-04-15 JS基础知识笔记 // new Boolean()传入的值与if判断一样 var test=new Boolean(); console.log(test); // false ...

  8. Vue基础知识简介

    基础知识: vue的生命周期: beforeCreate/created.beforeMount/mounted.beforeUpdate/updated.beforeDestory/destorye ...

  9. js基础知识--BOM

    之前说过,在js的 运行环境为浏览器时,js就主要有三部分组成: ECMAScript核心语法.BOM.DOM.今天就和大家详细说一下BOM的一些基础知识. BOM BOM通常被称为浏览器对象模型,主 ...

随机推荐

  1. struts2中Action訪问servlet的两种方式

    一.IoC方式                在struts2框架中,能够通过IoC方式将servlet对象注入到Action中.通常须要Action实现下面接口: a. ServletRequest ...

  2. 程序员的笔记工具——Markdown

    安利一款轻量级的标记语言——Markdown 如上,Markdown作为一门语言,十分钟即可入门,熟练以后麻麻再也不用担心我在文章排版上浪费时间了!! 入门资源可参考如下回答(建议拣一条完整的看完上手 ...

  3. HttpClient POST 的 UTF-8 编码问题

    http://www.360doc.com/content/09/0915/15/61497_6003890.shtml不 过在实际使用中, 还是发现按照最基本的方式调用 HttpClient 时, ...

  4. HTTP请求报文属性详解

    HTTP请求报文组成:请求行+请求头+请求体 注意:请求体和URL都可以传递请求参数. 常见请求头属性: 1.Accept  作用:浏览器客户端用来告诉服务端能接受什么类型的响应. 例如:  Acce ...

  5. 有关IM即时通讯原理

    在网上搜索了一些资料,谈谈自己对IM即时通讯的理解 IM全称为Instant Messaging,即时通讯,如qq那种的. 现在有两个用户UserA, UserB, 俩人是一个IM通讯软件的好友,Us ...

  6. Python归并排序(递归实现)

    为什么归并排序如此有用?1. 快捷和稳定归并排序成为⼀一个非常棒的排序算法主要是因为它的快捷和稳定.它的复杂度即使在最差情况下都是O(n log n).而快速排序在最差情况下的复杂度是O(n^2),当 ...

  7. [ElasticSearch] 空间搜索 (一)

    依据索引文档的地理坐标来进行搜索.Elasticsearch 也可以处理这种搜索.--空间搜索 一.为空间搜索准备映射 PUT my_space_test { "mappings" ...

  8. [HNOI2008]玩具装箱toy(dp+斜率优化)

    斜率优化问题一般都是决策单调问题.对于这题能够证明单调决策. 令sum[i]=sigma(c [k] ) 1<=k<=i  ,  f[i]=sum[i]+i ,  c=L+1; 首先我们能 ...

  9. iOS自定义转场动画实战讲解

    iOS自定义转场动画实战讲解   转场动画这事,说简单也简单,可以通过presentViewController:animated:completion:和dismissViewControllerA ...

  10. LeetCode543. Diameter of Binary Tree

    Description Given a binary tree, you need to compute the length of the diameter of the tree. The dia ...