·首先,来简单的说一下,JS是啥,JS是JavaScript的简写,是

基于浏览器的
基于对象的
事件驱动
脚本语言
·那么JS有什么用呢?ta可以实现:
表单验证
添加动画效果
动态更改页面内容
Ajax网络请求
·那么怎么在网页中使用它呢?
可以有三种方式:
1.Html中内嵌
<button onclick="javascript:alert('young man..骗你的')">屠龙宝刀点击就送!</button>
2.在Html页面中直接使用JS
<script type=“text/javascript”>
JavaScript语句;
</script>
【注意事项】页面中JS代码与引用JS代码可以嵌入到Html中任意位置,但是位置不同会影响到JS代码的执行顺序。例如script标签在body前边会在页面加载之前执行JS;
②引用外部JS文件,使用
<script src=" .js" language=“javascript”>
</script>
引用外部JS文件的script标签必须成对出现,且内部不能有任何代码
·下面在来介绍一下JS中的变量:
JS的变量声明不同于C、C++、JAVA之流,要用int long char之类的
①JS中所有变量类型声明,均使用var关键字。变量的具体类型取决于对变量赋值得类型
②同一变量可在多次不同赋值时,改变变量的数据类型
var width = 10; width为整形变量
var width =“11”;width被改为字符串类型
③变量可以使用var 也可以省略
④同一变量名可以多次用var声明,但没任何含义,不会报错。第二次之后的声明,只会被理解为赋值
虽然只用var定义变量,但JS中的变量也是有数据类型的:
undefined 未定义,用var定义的变量未赋值。var a;
Null 代表特殊的变量类型。唯一值为null,表示为空的引用。空的对象,空的数组
number 数值类型。可以使小数,也可以是整数。
string 字符串,用双引号“” 或单引号' '包裹的内容,称为字符串
boolean 真假,可选值 true /false
object 复杂数据类型
说到这里,当然要强调一下变量的命名规范:
变量名由字母数字下划线和$符,开头不能为数字,区分大小写
变量名命名要符合驼峰法则:
变量开头要小写,之后每个单词首字母大写;
 
·在JS中有几个常用的数值函数非常重要:
① isNAN 用于判断一个变量或者常量是否为NAN(非数值)
  这个非常非常绕
使用isNAN判断时会尝试使用number()函数进行转换,如果能转换为数字,则为不是非数值,结果为false;
例如:
“11122”纯数字字符串,false “ ”空字符串,number转化为0,false “ 2la44”true
true / false 布尔类型,false
②Number()将其他类型转化为数值类型
[字符串类型转数值]
》》字符串为纯数值字符串,会转为对应的数字“111”->111
》》字符串为空时,会转为0
》》字符串包含其他非数字字符时,不能转换“111a”->NaN
[布尔类型转数值]
》》true-> 1
》》false-> 0
[Null转数值]
null->0
[undefined转数值]
undefined-> NaN
[Object]
*先调用Value of方法确定函数是否有返回值,再根据上述情况判断
③parseInt()将字符串转为数值
》》为空字符串 结果NAN
》》纯数值字符串能转,若有小数,小数点后抹掉,不进行四舍五入
》》包含其他字符字符串,会截取第一个非数值前的数值部分,如果开头字母,则结果为NaN
“123a33”-》123 “a123”-》NaN
只能转字符串类型,boolean/null/undefined 均为NAN
④ parseFloat()将字符串转为数值,使用方式同parseInt
但转化小数字符串时保留小数点;转化整数字符串时 ,保留整数。
“123.5”->123.5 “125”->125
⑤typeof 用来检测变量数据类型
未定义--返回Undefined
字符串---返回String
true / false ---返回boolean
数值---返回Number
对象/null --返回object
函数--返回function

·JS中的运算符

js中的运算符跟C、java里的基本一样,没有特别注释的用法没什么区别

算术运算
+ 加、- 减、* 乘、 / 除、 % 取余、++ 自增、-- 自减

赋值运算
= 赋值
+=:a+=5相当于a=a-5;但前者的执行效率快
-=
*= /= %=
关系运算
== 等于、=== 严格等于、 != 不等于、>、<、>=、<=
===:严格等于,类型不同返回false。类型相同,再进行下一步判断
==:类型相同,判断。类型不同,类型不同,尝试将等式两边均用Number()函数转为数字,在判断。例外:null==Undefined 成立 null===Undefined 不成立
条件运算符(多目运算)
a>b?true:false
有两个关键符号: ?
当?前边的运算结果为true时,执行:前边的代码
当?前边的运算为false时,执行:后边的代码;
可以多层嵌套
逻辑运算符
&&、||、!
重点是运算符的优先级,弄不清楚时,一定要加括号!
()
! ++ --
* / %
+ -
> < <= >=
== !=
&&
||
赋值运算符= += -= %=
搞清楚这些才能往下深入学习JS,而不会被弄的团团转。
 
 
 
 
 

JS基础——入门必备的更多相关文章

  1. JS基础入门篇(三十五)—面向对象(二)

    如果没有面向对象这种抽象概念的小伙伴,建议先看一下我写的JS基础入门篇(三十四)-面向对象(一)

  2. JS基础入门篇(二十七)—BOM

    虽然上次写到js基础篇(二十四),这次直接写到(二十七).是为了提醒自己中间有几篇没写.特此说明一下啊. 1.window.open() 使用a标签呢,点击一下a标签页面才会跳转,有时候我们需要做的操 ...

  3. egg.js基础入门

    之前一直使用koa, 刚刚接触egg, 做了一些入门的笔记 准备工作 1  首先安装脚手架,,并创建项目. $ npm i egg-init -g $ egg-init egg-demo --type ...

  4. Nuxt.js 基础入门教程

    原文链接 Vue 开发一个单页面应用,相信很多前端工程师都已经学会了,但是单页面应用有一个致命的缺点,就是 SEO 极不友好.除非,vue 能在服务端渲染(ssr)并直接返回已经渲染好的页面,而并非只 ...

  5. JS基础入门篇(六)— 数据类型

    1.数据类型 数据类型:我感觉就是对数据的种类进行分类.就好比把人分为儿童,青少年,中年,老年一样. 基础数据类型: Number(数字),String(字符串),Null(空),Undefined( ...

  6. 零基础入门必备的Linux命令和C语言基础

    文件和目录(底部有视频资料) cd /home 进入 '/ home' 目录' cd - 返回上一级目录 cd -/- 返回上两级目录 cd 进入个人的主目录 cd ~user1 进入个人的主目录 c ...

  7. Underscore.js基础入门

    公司产品集成了对Underscore.js,所以需要对这个库有一定的了解.通过查阅资料,发现这个库主是对Array和JSON的处理支持.通过Underscore.js库,可以方便的对Array和JSO ...

  8. gulp.js基础入门

    安装 Node 去 nodejs.org 根据系统选择性按照教程安装Node. 创建项目 创建项目文件夹 进入项目文件夹 初始化项目 使用npm命令:npm init,根据提示完成. 安装 Gulp ...

  9. JS 基础 入门

    JS做弹窗效果 //单行注释/*多行注释*/// 网页 标签语言    js语言是脚本语言/* 数据类型: 容器 1.整型  (int)  2.小数类型: float: 单精度的小数: double: ...

随机推荐

  1. Struts2中ActionContext及ServletActionContext介绍(转载)

    1. ActionContext 在Struts2开发中,除了将请求参数自动设置到Action的字段中,我们往往也需要在Action里直接获取请求(Request)或会话(Session)的一些信息, ...

  2. MyBatis极速入门开发手册(2017-2-6更新)

    前言: 本篇文章对我的学习内容做一个归纳梳理,同时也记录一些学习过程中遇上的问题及注意事项等等,可以帮助新入门的朋友们消除一些误区与盲区,希望能帮上一些正在学习的朋友们.在编写时会引用一些mybati ...

  3. (18)IO流之字节缓冲路

    缓冲流 BufferedInputStream 缓冲输入流 前面的练习告诉我们使用缓冲数组读取的效率更高,为了方便的大家的操作,sun 位大家提供了一个缓冲输入字节流对象,让我们可以更高效率的读取文件 ...

  4. ngrok localhost和http 的转换

    得益于老大的教导,今天又接触到一个有意思的东西,希望分享出来,供大家玩耍----“ngrok”: 乍一看还以为是angualar的新玩意,其实不是.这这家伙可以使本地开发的web应用,不用打包上传,也 ...

  5. yii中调整ActiveForm表单样式

    Yii2中对于表单和字段的支持组件为ActiveForm和ActiveField, <?php $form = ActiveForm::begin([ 'id' => 'login-for ...

  6. JS 拖动DIV 需要JQUERY 支持

    <!DOCTYPE HTML PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...

  7. cuda编程学习2——add

    cudaMalloc()分配的指针有使用限制,设备指针的使用限制总结如下: 1.可以将其传递给在设备上执行的函数 2.可以在设备代码中使用其进行内存的读写操作 3.可以将其传递给在主机上执行的函数 4 ...

  8. 基于Intranet的零件库管理信息系统设计--part01

    好吧,临近毕业的我,毕业设计还没开始做呢.时间不等人,再过两个月就要答辩了,我得开始做我的毕设了,虽然我现在还没能力完全把毕设做出来,但总得先迈出第一步吧.今天先做一小部分. 话不多说,先来看我得毕业 ...

  9. keepalive配置文件详解

    第一部分:全局定义块 1.email通知.作用:有故障,发邮件报警. 2.Lvs负载均衡器标识(lvs_id).在一个网络内,它应该是唯一的. 3.花括号“{}”.用来分隔定义块,因此必须成对出现.如 ...

  10. 基于均值漂移的三维网格分割算法(Mean Shift)

    mean shift算法是一种强大的无参数离散数据点的聚类方法,其在图像平滑.图像分割以及目标跟踪等方面都有着广泛的应用.[Yamauchi et al. 2005]基于mean shift算法提出了 ...