·首先,来简单的说一下,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. 读headFirst设计模式 - 装饰者模式

    继承可以在复用父类代码的情况下扩展父类的功能,但同时继承增加了对象之间的耦合度,所以要慎用继承.那么有没有既能扩展父类的功能,又能使对象间解耦的方法呢?答案是肯定的,这就是我们今天要学习的装饰者模式. ...

  2. 微信开发模式 api 接口文档简介

    微信公众平台分为订阅号和服务号,服务号提供9大接口,需要通过微信认证后才能使用这些接口.认证费用300元.下面是接口的大致介绍: 1. 语音识别:通过语音识别接口,用户发送的语音,将会同时给出语音识别 ...

  3. 浅谈EL

    一.了解EL 1.EL是从 JavaScript 脚本语言得到启发的一种表达式语言,它借鉴了 JavaScript 多类型转换无关性的特点.在使用 EL 从 scope 中得到参数时可以自动转换类型, ...

  4. SQL基本编程,分支语句,循环语句,存储过程,触发器

    基本编程: 定义变量 declare @变量名 数据类型 赋值 set @变量名 = 值 select @变量名 = 值 取值打印 select @变量名 print @变量名 映射到结果集 打印到消 ...

  5. 交叉编译Python-2.7.13到ARM(aarch32)—— 支持sqlite3

    作者:彭东林 邮箱:pengdonglin137@163.com QQ: 405728433 环境 主机: ubuntu14.04 64bit 开发板: qemu + vexpress-a9 (参考: ...

  6. SQL Server数据库读取数据的DateReader类及其相关类

    之前学了几天的SQL Server,现在用C#代码连接数据库了. 需要使用C#代码连接数据库,读取数据. 涉及的类有: ConfigurationManage SqlConnection SqlCom ...

  7. 《转载-两篇很好的文章整合》Android中自定义控件

    两篇很好的文章,有相互借鉴的地方,整合到一起收藏 分别转载自:http://blog.csdn.net/xu_fu/article/details/7829721 http://www.cnblogs ...

  8. Android Things教程:电气基础之直流电路理论

    译者注:由于本人水平有限,译文中难免会出现概念模糊.晦涩难懂,如果实在没心思看下去,请发挥你的学习能动性,到原文中自行翻译,感谢!!!点这里,直达英文各种长句的世界. 好了,既然你选择继续往下看,那就 ...

  9. pyqt系列原创入门教程

    pyqt4入门教程 python pyqt4 PyQt是一个创建GUI应用程序的工具包.它是Python编程语言和Qt库的成功融合.Qt库是目前最强大的库之一. 通过pyqt可以实现很多我们想要的功能 ...

  10. Spring execution表达式

    execution(modifiers-pattern? ret-type-pattern declaring-type-pattern? name-pattern(param-pattern) th ...