JavaScript 和Python、C#、Java、Ruby一样,都是一门独立的编程语言。 
python、C、Java等都需要解释器,学习它们的语法。而浏览器本身就是javascript的解释器。

1、javascipt代码存在形式

  • HTML中head标签内
<head>
<meta charset="UTF-8">
<title>Title</title>
<style>
/*CSS代码*/
</style>
<script>
//JavaScript代码
</script>
</head>
  • 引入JavaScript文件
<head>
<meta charset="UTF-8">
<title>Title</title>
<script src="commons.js"></script>
<link href="common.css" rel="stylesheet" />
</head>
<!--两种写法效果一样-->
<script type="text/javascript"> </script>
<script> </script>
  • body标签中

因为html也是从上到下执行的,而且从文件中引入js文件也可以引入其他网站js。如果其他网站js连不上,导致页面一直不加载。 
而js的作用就是让网页动起来,而网站有些情况下用不到JavaScript,并且为用户更友好的访问,用户一点就打开页面。直接先看的内容。 
js放在上面,先加载js就浪费时间了。

为了用户更加快捷的打开网页,增加友好度。 
把js放在body标签内的最下面

JavaScript注释

//      单行注释
/**/ 多行注释

2、javascript数据类型

  • js定义变量
 name = 'fgf'        # 全局变量
var name = 'fgf' # 局部变量
  • 定义函数
 function func() {
…… ;
}

一、数字

在js里面,数字就包括了整型和浮点型。

age = 18;
n = "18";
i = parseInt(n); // 字符串转为整型
i = parseFloat(n);// 转为浮点型

二、字符串

> a = 'fgf';
"fgf"
> a.charAt(1)
"g"
> a.charAt(2)
"f"
> a.substring(1,3)
"gf"
  • 定时器 setInterval
<script>
// 创建一个定时器,每5秒来一个弹框
setInterval("alert(123)", 5000)
</script>
  • console.log 浏览器Console 打印信息
<script>
function f1() {
console.log(1);
}
setInterval("f1();", 1000)
</script>
  • 跑马灯实例(滚动显示文字)
<body>
<h1 id="i1" >你是活了一万多天?还是活了一天 却重复了一万多次?&nbsp;</h1> <script>
function func(){
// 根据ID获取指定标签的内容,定义局部变量接收
var tag = document.getElementById('i1');
// 获取标签内部的内容
var content = tag.innerText;
// 获取第一个字符
var f = content.charAt(0);
// 获取第二到最后的字符
var l = content.substring(1,content.length);
// 把第一个字符放到末尾。
var new_content = l + f;
// 替换原标签内内容
tag.innerText = new_content;
}
// 每0.5秒执行一次。
setInterval('func()', 500)
</script>
</body>

常见功能:

obj.length                           长度
obj.trim() 移除空白
obj.trimLeft()
obj.trimRight)
obj.charAt(n) 返回字符串中的第n个字符
obj.concat(value, ...) 拼接
obj.indexOf(substring,start) 子序列位置
obj.lastIndexOf(substring,start) 子序列位置
obj.substring(from, to) 根据索引获取子序列
obj.slice(start, end) 切片
obj.toLowerCase() 大写
obj.toUpperCase() 小写
obj.split(delimiter, limit) 分割
obj.search(regexp) 从头开始匹配,返回匹配成功的第一个位置(g无效)
obj.match(regexp) 全局搜索,如果正则中有g表示找到全部,否则只找到第一个。
obj.replace(regexp, replacement) 替换,正则中有g则替换所有,否则只替换第一个匹配项,
$数字:匹配的第n个组内容;
$&:当前匹配的内容;
$`:位于匹配子串左侧的文本;
$':位于匹配子串右侧的文本
$$:直接量$符号

三、数组、字典

JavaScript中的数组类似于Python中的列表

  • 数组常见功能:
obj.length          数组的大小

obj.push(ele)       尾部追加元素
obj.pop() 尾部获取一个元素
obj.unshift(ele) 头部插入元素
obj.shift() 头部移除元素
obj.splice(起始位置, 删除个数, 值, ...) 插入、删除或替换数组的元素
obj.splice(n,0,val) 指定位置插入元素
obj.splice(n,1,val) 指定位置替换元素
obj.splice(n,1) 指定位置删除元素
obj.slice( ) 切片
obj.reverse( ) 反转
obj.join(sep) 将数组元素连接起来以构建一个字符串
obj.concat(val,..) 连接数组
obj.sort( ) 对数组元素进行排序
"分隔符".join(['列','表'])  # python中
['列','表'].join('分隔符') # JavaScript中
  • 字典

  操作和python中一样,其实js里没有字典这个类型,只是对象。

a = {'k1':'v1', 'k2':'v2'}
a['k1']

3、javascript流程控制

一、布尔类型 条件语句

布尔类型: 
小写:true、false

==      比较值相等,不看类型
!= 不等于
=== 比较值且类型相等
!=== 不等于
|| 或
&& 且

条件语句:

if(条件){
}
else if(条件){
}
else{
}

二、for循环

  • 第一种:循环时,循环的元素是索引
a = [11, 22, 33, 44]
for(var item in a) {
console.log(item); // 这里获取的是索引
console.log(a[item]) // 这样才获取的值
}
  • 第二种
for(var i=0;i<;i++){

}

三、while循环

while(条件){

    }

四、if条件语句

if(){

}else if(){

}else{

}
==      : 值一样则相等
=== : 值和类型必须都相等

五、swich case条件语句

name='3';

switch(name){
case '1':
age = 123;
break;
case '2':
age = 456;
break;
default :
age = 777;
}

4、javascript必须加分号

js必须加上分号,不写也不出问题,但是线上应用时为了节省空间,js往往都是一行。加上分号,进行断句,必须要加。

												

前端逼死强迫症系列之javascript的更多相关文章

  1. 前端逼死强迫症系列之javascript续集

    一.javascript函数 1.普通函数 function func(){ } 2.匿名函数 setInterval(function(){ console.log(123); },5000) 3. ...

  2. 前端逼死强迫症系列之Html

    概述 HTML是英文Hyper Text Mark-up Language(超文本标记语言)的缩写,他是一种制作万维网页面标准语言(标记).相当于定义统一的一套规则,大家都来遵守他,这样就可以让浏览器 ...

  3. 前端逼死强迫症系列之css

    一.编写css样式 1.ID选择器 由于ID唯一,所以也是写多遍. <head> <style> #i1{ background-color: #2459a2; height: ...

  4. 前端逼死强迫症之DOM

    Dom:document.相当于把所有的html文件,转换成了文档对象. 之前说过:html-裸体的人:css-穿上衣服:js-让人动起来. 让人动起来,就得先找到他,再修改它内容或属性. 找到标签 ...

  5. 前端逼死强迫症之css续集

    上节内容回顾 如果点击图片调转到连接,a标签下套img标签,在IE有的版本中,会有蓝色边框. 因为a标签默认字体颜色就是蓝色,img标签继承了父级标签,而IE浏览器默认给边框加了宽度.解决: < ...

  6. 【PC网站前端架构探讨系列】关于中小型PC网站前端架构方案的讨论与实践

    目   录 1.遇到的问题 2.目标 3.探讨 4.架构设想 5.流程 6.初步实现 7.存在问题 8.最后 遇到的问题 我在这个系列上篇文章 已经讲解并开始逐步应用模块化思想,不知大家还记不记得,题 ...

  7. 前端回顾:2016年 JavaScript 之星

    JavasScript社区在创新的道路上开足了马力,曾经流行过的也许一个月之后就过时了.2016已经结束了.你可能会想你是否错过一些重要的东西?不用担心,让我们来回顾2016年前端有哪些主流.通过比较 ...

  8. 15分钟带你了解前端工程师必知的javascript设计模式(附详细思维导图和源码)

    15分钟带你了解前端工程师必知的javascript设计模式(附详细思维导图和源码) 前言 设计模式是一个程序员进阶高级的必备技巧,也是评判一个工程师工作经验和能力的试金石.设计模式是程序员多年工作经 ...

  9. 王下邀月熊_Chevalier的前端每周清单系列文章索引

    感谢 王下邀月熊_Chevalier 分享的前端每周清单,为方便大家阅读,特整理一份索引. 王下邀月熊大大也于 2018 年 3 月 31 日整理了自己的前端每周清单系列,并以年/月为单位进行分类,具 ...

随机推荐

  1. 怎样解决Chrome浏览器因为禁止音频自动播放所造成的视频无法自动播放且报错: Uncaught (in promise) DOMException的问题

    这个问题是谷歌基于用户体验方面的考虑, 对页面加载时自动播放的音频作了限制, 试想一下, 如果你打开某个页面就立刻自动播放某种不可描述的声音, 那体验想必是十分酸爽. 尽管这个设定是针对音频的, 但实 ...

  2. [前端]多线程在前端的应用——Javascript的线程

    JavaScript 是单线程.异步.非阻塞.解释型脚本语言.JavaScript 的设计就是为了处理浏览器网页的交互(DOM操作的处理.UI动画等),决定了它是一门单线程语言.如果有多个线程,它们同 ...

  3. web.xml 转 学习!http://www.cnblogs.com/wkrbky/p/5929943.html

    1.spring 框架解决字符串编码问题:过滤器 CharacterEncodingFilter(filter-name) 2.在web.xml配置监听器ContextLoaderListener(l ...

  4. 最快得到MYSQL两个表的差集

    Mysql里不外乎就是 子查询 和 连接 两种方式. 设第一个表为table1, 第二个为table2, table1包含table2. sql为: //子查询 select table1.id fr ...

  5. tfs如何为工作项添加变更集

    今天工作中遇到的,可惜之前没怎么用过TFS. 我这是最后一次签入的时候关联了工作项.目的是要把先前签入的绑定到该任务上. 团队自愿管理器->查找历史记录->双击最后一次绑定工作项的变更集- ...

  6. Genymotion上运行ARM架构Android项目

    问题 Genymotion是x86的模拟器,在集成一些第三方的SDK时需要添加一些放在armeabi.armeabi-64文件夹下面的.so文件,这些文件在arm架构下才能运行.这时模拟器就不能用了. ...

  7. VBA宏注释(四)

    注释用于记录程序逻辑和用户信息,其他程序员将来可以阅读并理解相同的代码无缝工作. 它包括由开发者,修改者以及还可以包括合并逻辑的信息. 解释器在执行时忽略注释. VBA中的注释用两种方法表示,它们分别 ...

  8. gojs Diagram Events(图表事件)

    GoJS涵盖了三种基本事件:DiagramEvents(图表事件).InputEvents(输入事件)以及ChangedEvents(变更事件).这一页我们讨论前两种事件:至于最后一种事件请见 Cha ...

  9. Mybatis在xml文件中处理大于、小于、不等于号的方法

    在mapper.xml使用大于.小于等符号会和xml语法冲突,解决冲突有两种方式. 方法一: 使用转义字符: 字符名称 字符符号 转义字符 大于号 > > 小于号 < < 与 ...

  10. OpenCV读取图像问题:OpenCV(3.4.3) D:\Build\OpenCV\opencv-size.width0 && size.height0 in function 'cvimshow'

    版权声明:本文为博主原创文章,转载 请注明出处:https://blog.csdn.net/sc2079/article/details/83280067 - 问题与解决 最近正在学OpenCV,发现 ...