---恢复内容开始---

JavaScript 

JavaScript:是一门编译型的语言,比python语言还要弱类型的语言

JavaScript 分为三个部分:Ecmascript、dom、bom

Ecmascript: 核心部分

dom: 控制整个网页,也就是文档

bom: 浏览器的文档模型

浏览器只能够解释: html、 css 、javascript

JavaScript的引用方法

直接将代码写入script标签里

使用script标签下的src属性直接引入写好的js文件。

JavaScript语言的使用

在js中//是单行注释

/*  */是多行注释

alert:打印,在执行代码时,就会打印到弹出窗口上面。

var: 声明一个变量,在定义变量前,必须使用var声明这些变量开辟出相应的内存空间进行赋值,可以同时声明多个变量,用逗号分开。

在js中默认换行符是一条语句的结束,还可以使用 ‘;’分一条语句的结束符

在js中声明变量没有赋值默认是undefined.

命名规范:见名知意,建议前面加上一个数据类型的首字母 其它的和python定义变量是一样的

          

什么是常量: 定义不变的量

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body>
<script>
/* function sayHello(){
var hellostr='你好';
document.write(hellostr);
}
sayHello();*/
var a=10,b= 3,c;
console.log(a,b,c)
</script>
</body>
</html>

js的数据类型

基本数据类型

number:数据类型

string:字符串类型

boolean:布尔类型

undefined:只声明并没有赋值的变量,只有一个值:undefined

引用数据类型

object:栈的数据类型。也包含了一些特殊的数据类型,非基础数据类型都属于object数据类型

            

console.log: 打印,将代码在控制台上面打印出来 

typeof: 查看数据类型

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body>
<script>
var a=10;
console.log(a,typeof a)
var e=[11,22,33,44],f=(99,88,77,66)
console.log(e,typeof e)
console.log(f,typeof f )
</script>
</body>
</html>

js中运算符

计算运算符: + - * / % ++ --

++:自加1,只能够加1 使用方法是:变量++ 和++变量,它们的区别在于变量++是先赋值后计算;而++变量是先计算后赋值

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body>
<script>
var a=10;
ret=a++;
console.log(ret,a);

var b=10;
ret=++b;
console.log(ret,b);
</script>
</body>
</html>

比较运算符

>  >=  <  <=  !=  ==  ===  !==

==和!=: 比较时数据类型不同的话,js会自动给数据类型转换

=== 和!== :全等于和不全等于。 比较时,js内部不做任何转换

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body>
<script>
console.log(5==='5');
console.log(5!=='5');
console.log(5=='5');
console.log(5!='5');
</script>
</body>
</html>

逻辑运算符: && 与|| 或!非

赋值运算符:=  +=  -=  *=  /=

字符串运算符:+ 连接,两边操作数有一个或两个是字符串就做连接运算,如果没有值就当正号使用  

流程控制

if和else判断:

if 单分支格式:

  if(条件语句){

   执行语句

  }  

 

if 双分支格式:

  if(条件语句){

   执行语句

  }  

 else{

  执行语句

  }

if 多分支格式:

  if(条件语句){

   执行语句

  }  

 else if{

  执行语句

  }

  ……

  else{

  执行语句

      }

  

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body>
<script>
if (2=='2'){
console.log('ok')
}
if (2==='2'){
console.log('对')
}
else{
console.log('错')
}
var a=20;
if(a>20){
console.log('大')
}
else if(a<20){
console.log('小')
}
else{
console.log('对')
}
</script>
</body>
</html>

for循环语句:

遍历循环格式:

for(条件语句){

执行语句  

}

条件语句的格式:(var变量=值;判断条件;自加1)

条件循环格式:

for(avr i in 变量){

  执行语句

}

length: 计算长度

while循环语句:

  while(条件语句){

  执行语句

}

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body>
<script>
a=0
b=0
while (a<10){
b+=a;
a++
}
console.log(b)
</script>
</body>
</html>

switch case语句

switch(表达式){

  case条件语句;执行语句break;

  case 条件语句;执行语句break;……

}  

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body>
<script>
var a=2;
switch(a){
case 1:alert('星期一');break;
case 2:alert('星期二');break;
case 3:alert('星期三');break;
case 4:alert('星期四');break;
case 5:alert('星期五');break;
}
</script>
</body>
</html> default:如果输入的值与case后面的值对不上的话,就会执行下面的语句

函数

函数的定义各调用格式

function 函数名(形参){

  函数体

}

  函数名(实参)

可以在当前文件里的script标签里的任意地方调用这个函数

如果实参少于形参时默认返回NaN,NaN是一个数据,如果数字没有转换字符串成功的话就会出现

argument对象,将传入函数的参数值打包起来。

函数如果没有返回值的话默认返回undefined

匿名函数:

什么叫做匿名函数:没有名字的函数执行一次就会被回收

匿名函数的定义和调用

(function 函数名(形参){

  函数体  

})(实参)

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body>
<script>
function func(x,y,z){
return x+y+z;
}
console.log(func(3,5,11)); (function(x,y){
console.log(x+y)
})(1,4)
</script>
</body>
</html>
  

js的执行顺序是将所有的代码先编译一遍,然后在执行

前端 javascript的更多相关文章

  1. 前端JavaScript规范

    前端JavaScript规范 http://www.imooc.com/article/1402 http://greengerong.com/blog/2015/05/09/qian-duan-ja ...

  2. 实例演示 kino.razor (前端 Javascript 模板工具,Razor 风格)的使用

    前言 对于习惯了 ASP.NET MVC Razor 模板引擎的人来说,比如我,一直在寻找前端 Javascript 端的 Razor 模板工具.这之前,我也了解到很多Javascript 端的模板工 ...

  3. 在C#后端处理一些结果然传给前端Javascript或是jQuery

    在C#后端处理一些结果然传给前端Javascript或是jQuery,以前Insus.NET有做过一个例子<把CS值传给JS使用 >http://www.cnblogs.com/insus ...

  4. 前端javascript模板

    doT.js——前端javascript模板引擎问题备忘录 我手里维护的一个项目,遇到一个问题:原项目的开发人员在Javascript中,大量的拼接HTML,导致代码极丑,极难维护.他们怎么能够忍受的 ...

  5. Web前端-JavaScript基础教程上

    Web前端-JavaScript基础教程 将放入菜单栏中,便于阅读! JavaScript是web前端开发的编程语言,大多数网站都使用到了JavaScript,所以我们要进行学习,JavaScript ...

  6. 前端javascript

    前端 JavaScript   javaScript----数据库jquery $(function(){ 执行代码   });  基本语法:$(selector).action() $(" ...

  7. Fundebug前端JavaScript插件更新至1.2.0

    摘要: Fundebug的前端JavaScript错误监控插件更新至1.2.0:支持监控WebSocket连接错误:修复了监控unhandledrejection错误的BUG,即未用catch处理的P ...

  8. Fundebug前端JavaScript插件更新至1.8.2,修复2个小BUG

    摘要: 修复2个BUG,请大家及时更新. Fundebug前端异常监控服务 Fundebug是专业的程序异常监控平台,我们JavaScript插件可以提供全方位的异常监控,可以帮助开发者第一时间定位各 ...

  9. Web前端-JavaScript基础教程下

    Web前端-JavaScript基础教程下 <script>有6个属性: async对外部脚本有效,可以用来异步操作,下载东西,不妨碍其他操作. charset为src属性指定字符集. d ...

  10. 前端 JavaScript 复制粘贴的奥义——Clipboard 对象概述

    前言 作为一名资深搬砖工,你要问我用得最熟练的技能是什么,那我敢肯定且自豪的告诉你:是 Ctrl+C !是 Ctrl+V! 不信?你来看看我键盘上的 Ctrl.C 和 V 键,那油光发亮的包浆程度,不 ...

随机推荐

  1. form表单的三个属性 action 、mothod 、 enctype。

    form_action: 表单数据提交到此页面 下面的表单拥有两个输入字段以及一个提交按钮,当提交表单时,表单数据会提交到名为 "form_action.asp" 的页面: < ...

  2. white-space:pre-wrap和word-break:break-all;

    最近碰到了两个css属性,在此记录一下: 1.white-space :nomal规定文本中的文字空格和换行的情况 normal:默认.空白会被浏览器忽略. pre:空白会被浏览器保留.其行为方式类似 ...

  3. Java框架spring Boot学习笔记(七):@Configuration,@bean注解

    @Configuration作用在类上,相当于一个xml文件 @bean作用于方法上,相当于xml配置中的<bean>标签 一个例子: 新建一个Springboot工程 新建一个User类 ...

  4. ES6学习笔记(函数)

    1.函数参数的默认值 ES6 允许为函数的参数设置默认值,即直接写在参数定义的后面. function log(x, y = 'World') { console.log(x, y); } log(' ...

  5. 动态在线扩容root根分区大小的方法详解

    前言 本文主要介绍了关于动态在线扩容root根分区大小的相关内容,分享出来供大家参考学习,下面话不都说了,来一起看看详细的介绍吧. ? 1 qemu-img resize yourname.img + ...

  6. systemverilog soft constraint

    1.class my_item; rand bit constrainted_random; rand bit usually_one; endclass class my_generator; my ...

  7. char* = "name" g++报告warn的原因

    char* str = { "abcd" },先定义一个字符串常量“abcd“,再将指针str指向它,返回值是这个指针,由于字符串常量在编译时分配内存,只有程序退出时才被销毁,所以 ...

  8. 网络通信实验(1)STM32F4 以太网简介

    STM32F4 以太网简介 STM32F407 芯片自带以太网模块,该模块包括带专用 DMA 控制器的 MAC 802.3(介质访问控制)控制器,支持介质独立接口 (MII) 和简化介质独立接口 (R ...

  9. ASP.Net的工作线程与请求队列

    当 ASP.NET 接收针对页的请求时,它从线程池中提取一个线程并将请求分配给该线程. 一个普通的(或同步的)页在该请求期间保留线程,从而防止该线程用于处理其他请求.如果一个同步请求成为 I/O bo ...

  10. Unity 3D 如何修改新建脚本中的 C# 默认创建的 Script 脚本格式

    首先在Unity的安装路径下找到 Unity5\Editor\Data\Resources\ScriptTemplates路径的(81-C# Script-NewBehaviourScript.cs. ...