本系列文章Javascript一律简称js,javascript太长了((⊙﹏⊙)b)
  • js概述

  js是面向对象和基于事件驱动的解释型语言,主要用于WEB前端,处理用户交互。几年前js只是作为一种前端语言,现在js也可以作为后端语言了(nodejs),这个话题就留在高阶篇了了。

一切都是对象(everything is object),对象就是具体的事物,事物就包含了某些属性和某些行为。比如一个叫张三的学生,他的属性就有:姓名-张三,性别-男,兴趣-撸啊撸...,行为就有:吃,喝,拉,撒,睡...

事件驱动就对事件作出某些响应。比如点击网页上的登录按钮后(事件源,事件的起源),程序就提交用户名和密码到服务器判断能否登录(监听器,负责处理事件)。

js是有js解释器来执行的,js解释器一般嵌在浏览器中,这也是为什么js可以在浏览器运行的原因。

  • js语法

命名规范:js变量和函数名称,可以用英文字母,数字,$(美元符),_(下划线)组合,但数字不能在首位(‘3abd’就不行),名称尽量做到看到名称就知道其代表的意义(由‘age'就知道是年龄),采用驼峰命名法(第一个单词首字母小写,后面其他单词首字母大写,比如"firstStudent")

js必须写在<script></script>块中,//是行注释,注释当前行;/**/是块注释,注释多行代码,注释里的内容不会被执行。

    <script>
/**
**  变量:表示一个属性的名称,比如“age”表示年龄;js中表示一个变量如下:
**/
//var是申明符,告诉解释器age代表一个变量,分号表示结束
var age; //给age赋值
age = 24; //申明并赋值
var age = 24; /**
  数据类型
**/
var age = 24; // number类型,表示数值 var name = "abc"; //String类型,表示字符串 var isGay = false; //Boolean ,布尔类型,表示真(true)或假(false) var date = new Date(); //引用类型,表示对象 var numbers = [1, 2, 3]; //引用类型,表示数组 var type = typeof false; //获取false为何种类,结果为boolean(布尔类型)     
var type1 = typeof {}; //这是什么类型?
</script>

函数:

/**
  函数:实现某个具体的功能,下面的函数实现一个加法:
**/
//一个加法函数
function sum(a,b){
return a + b;
} //调用这个函数
var c = sum(1,2);
alert( c ); //调试 //写一个阶乘的函数吧

运算符 :

  <script>
//算术运算 +(加),-(减),*(乘) ,/(除),%(模运算,就是取余数)
var a = 1 + 3 ;// 结果是4
var b = 3 - 1 ; //结果是2
var c = 3 * 2 ; //结果是6
var d = 3 / 2 ; //结果是1.5
var e = 3 % 2 ; //结果是1 //逻辑运算
//短路与(&&,对应且的意思),有一个为假结果为假,都为真结果为真,
var b1 = false && true;//结果为false
var b2 = true && true ;//结果为true
var b3 = (0>1) && (0<1);//若第一个表达式为假,则第二个表达式将不会运算 //短路或(||),有一个真结果为真,都为假结果才为假
var c1 = false || true ; //结果为true
var c2 = false || false ;//结果为false //逻辑与(&),同短路与,唯一的区别是逻辑与两边的表达式都计算完了,再与运算,而
//短路与如第一个表达式的结果为false,就会“短路”,第二个表达式就不会计算了。
//逻辑或(|) 也是这个道理
var b4 = false & true; //结果是?
var b5 = false | true; //结果是? //取反(!),取相反值
var d = !false ;//结果为true
var d1 = !2 ;// 结果是? //位运算(略)
//运算优先级(略) </script>

循环 :

       <script>
//循环,重复做某件事,这里只介绍常见的for循环
//打10次招呼,i=0是初始变量,i<10时结束循环,每循环一次i +1
for(var i = 0 ; i< 10;i++){
console.log("hi~~~");
} //跳出整个循环,break
//当i==5时跳出【整个循环】,后面将不再执行,这里会打几次招呼?
for(var i = 0 ;i<10 ;i++){
if(i == 5){
break;
}
console.log("hi~~~");
} //跳出某次循环,continue
//当i==5时跳出【这次循环】,后面将继续执行,这里会打几次招呼?
for(var i = 0 ;i<10 ;i++){
if(i == 5){
continue;
}
console.log("hi~~~");
} //写一个九九乘法表吧
</script>

【Javascrpt 速成篇】 一:js基础的更多相关文章

  1. Javascrpt 速成篇】 三:js事件处理

    ie和chrome,firefox的事件处理,除了函数名字不同,基本大同小异.这样就已chrome为主了,对ie有兴趣的自己去百度.jquery已经处理不同浏览器兼容性问题,推荐使用. 事件处理有两种 ...

  2. Javascrpt 速成篇】 二:js面向对象

    现实世界的对象由形态和行为组成,js中对应的是属性和函数. <!DOCTYPE html> <html> <head> <meta charset=" ...

  3. Python之路【第二十一篇】:JS基础

    JavaScript的基础学习(一) 一.JavaScript概述 1.1 JavaScript的历史 ● 1992年Nombas开发出C-minus-minus(C--)的嵌入式脚本语言(最初绑定在 ...

  4. 前端面试题目汇总摘录(JS 基础篇)

    JS 基础 JavaScript 的 typeof 返回那些数据类型 object number function boolean undefined string typeof null; // o ...

  5. JS基础篇--sort()方法的用法,参数以及排序原理

    JS基础篇--sort()方法的用法,参数以及排序原理   sort() 方法用于对数组的元素进行排序,并返回数组.默认排序顺序是根据字符串Unicode码点.语法:arrayObject.sort( ...

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

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

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

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

  8. 【基础篇】js对本地文件增删改查

    [基础篇] js对本地文件增删改查--增 js对本地文件增删改查--删 js对本地文件增删改查--改 js对本地文件增删改查--查

  9. 【基础篇】js对本地文件增删改查--查

    前置条件: 1. 本地有安装node,点击传送门 项目目录: 1. msg.json内容 { "data": [ { "id": 1, "name&q ...

随机推荐

  1. NGUI,多相机共存时,控制显示的元素

    当多个相机存在于一个场景中时,我们需要控制某些元素的可见性来达到我们想要的结果. 1:某个相机不需要看见的元素,统一用一个layer来管理 2:选中UIROOT下的相机 在clear flag里面设置 ...

  2. 数字图像处理,图像锐化算法的C++实现

    http://blog.csdn.net/ebowtang/article/details/38961399 之前一段我们提到的算法都是和平滑有关, 经过平滑算法之后, 图像锐度降低, 降低到一定程度 ...

  3. ICMP与PING解析

    1.ICMP格式 ICMP是(Internet Control Message Protocol)Internet控制报文协议.它是TCP/IP协议族的一个子协议,用于在IP主机.路由器之间传递控制消 ...

  4. 【Flask】Flask上下文

    # 上下文: ### Local对象:在`Flask`中,类似于`request`的对象,其实是绑定到了一个`werkzeug.local.Local`对象上.这样,即使是同一个对象,那么在多个线程中 ...

  5. html4与html5的区别

    一.HTML5更加灵活,支持下列多种形式 1.标签名可以大写(不推荐) -<SpAN>这个HTML5也的认</SpAN> 2.属性双引号可选(推荐添加双引号) -<div ...

  6. Hbase:简单介绍一下Hbase表的结构

    HBase 是一个NoSQL数据库,用于处理海量数据,可以支持10亿行百万列的大表,下面我就和大家分享一下数据是如何存放在HBase表中的 为了更好的理解HBase表的思路,先回顾一下关系数据库中表的 ...

  7. mysql配置文件生效顺序

    安装完数据库 除了将my.cnf放在/etc/下放在其他地方也是可以的 cp /usr/share/mysql/my-default.cnf /etc/my.cnf 今天就看一下这些my.cnf是怎么 ...

  8. Makefile的简单编写【学习笔记】

    首先我们先创建两个简单的文件: main.c #include <stdio.h> extern void hi_fun(); int main() { printf("hell ...

  9. CentOS 7 安装各个桌面版本

    http://unix.stackexchange.com/questions/181503/how-to-install-desktop-environments-on-centos-7 92dow ...

  10. JavaEE之反射

    反射定义简单表述: 对于任意一个(动态的)运行中的类,我们都可以解剖它,获取类中的构造方法,成员变量,成员方法. 类的加载 (1)加载 就是指将class文件读入内存,并为之创建一个Class对象. ...