·首先,来简单的说一下,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. yii2 Nav::widget() 和 Menu::widget()

    Nav::widget http://www.yiiframework.com/doc-2.0/yii-bootstrap-nav.html Menu::widget()  http://www.yi ...

  2. sublime text笔记

    sublime text确实是一个很不错的编辑器,而且还是跨平台的,这个很不错.---Linux V2.0.2 有些时候可以比VIM要好有些 1.安装: apt-get install sublime ...

  3. android-自定义广告轮播Banner(无限循环实现)

    关于广告轮播,大家肯定不会陌生,它在现手机市场各大APP出现的频率极高,它的优点在于"不占屏",可以仅用小小的固定空位来展示几个甚至几十个广告条,而且动态效果很好,具有很好的用户& ...

  4. JAVA发送邮件的DEMO

    最近有朋友问邮件怎么发送,就简单写了个demo,因为懒得找jar包,所以项目是创建的maven工程,具体的maven引用的jar如下: <dependency> <groupId&g ...

  5. 利用Arcgis for javascript API绘制GeoJSON并同时弹出多个Popup

    1.引言 由于Arcgis for javascript API不可以绘制Geojson,并且提供的Popup一般只可以弹出一个,在很多专题图制作中,会遇到不少的麻烦.因此本文结合了两个现有的Arcg ...

  6. [Linux] PHP程序员玩转Linux系列-自动备份与SVN

    我的代码经常在开发修改,为了代码的安全性,比如哪天误删了文件,或者哪天改错东西了,可以恢复回来,我要搞代码备份.备份代码,我先做最简单的,使用linux的定时机制加shell命令打包文件,每天按日期保 ...

  7. 梳理一下web总的一些概念

    servlet中的类适合繁复翻看文档,熟悉各个类的常用方法,看一些经典的案例代码. ServletConfig 每个项目有多个servlet,每个servlet对应一个ServletCOnfigt对象 ...

  8. mysql索引使用技巧及注意事项

    一.索引的作用 一般的应用系统,读写比例在10:1左右,而且插入操作和一般的更新操作很少出现性能问题,遇到最多的,也是最容易出问题的,还是一些复杂的查询操作,所以查询语句的优化显然是重中之重. 在数据 ...

  9. 应不应该使用inline-block代替float

    CSS布局创建网站,浮动绝对占据了很大的比例.大块区域如主内容及侧边栏,以及在其中的小块区域,都可以看到浮动的影子.这里浮动是唯一的解决方案吗? 浮动通常表现正常,但有时候搞起来会很纠结.特别是处理内 ...

  10. 大数据量场景下storm自定义分组与Hbase预分区完美结合大幅度节省内存空间

    前言:在系统中向hbase中插入数据时,常常通过设置region的预分区来防止大数据量插入的热点问题,提高数据插入的效率,同时可以减少当数据猛增时由于Region split带来的资源消耗.大量的预分 ...