本系列文章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. js防抖

    那我们设置个 options 作为第三个参数,然后根据传的值判断到底哪种效果,我们约定: leading:false 表示禁用第一次执行trailing: false 表示禁用停止触发的回调 我们来改 ...

  2. javascript 的dateObj.getTime() 在为C#的获取方式

    public string GetTime(DateTime dt) { Int64 retval = 0; DateTime st = new DateTime(1970, 1, 1); TimeS ...

  3. HTML5相册浏览插件

    在线演示 本地下载

  4. 20145219 《Java程序设计》第10周学习总结

    20145219 <Java程序设计>第10周学习总结 教材学习内容总结 Java的网络编程 网络编程 网络编程就是在两个或两个以上的设备(例如计算机)之间传输数据. 网络概述 1.计算机 ...

  5. 2018-2019-2 20165114《网络对抗技术》Exp3 免杀原理与实践

    Exp3 免杀原理与实践 目录 一.实验内容 二.基础问题回答 (1)杀软是如何检测出恶意代码的? (2)免杀是做什么? (3)免杀的基本方法有哪些? 三.实践过程记录 正确使用msf编码器,msfv ...

  6. Percona 工具包 pt-online-schema-change 简介

    mysql的在线表结构修改,因为低效和阻塞读写.一直被诟病.至于ALTER TABLE 的原理,参看我上一篇文章.MySQL在线修改大表结构.看完后,发现的问题是还是会锁的,且对于在线更新的这块也是不 ...

  7. UVA 10900 So you want to be a 2n-aire? (概率dp)

    题意:玩家初始的金额为1:给出n,表示有n道题目:t表示说答对一道题目的概率在t到1之间均匀分布. 每次面对一道题,可以选择结束游戏,获得当前奖金:或者回答下一道问题,答对的话奖金翻倍,答错的话结束游 ...

  8. WebUploader 解决文件多次上传和删除上传文件的问题

    文件多次上传有两种情况: 1. 上传前的多次选择 2. 上传成功后,再次选择 其实API上,已经有了介绍了,不知道为什么有同学还是不知道如何做,我来抛砖引玉吧. 配置项: duplicate {Boo ...

  9. .NET中如何测试Private和Protected方法

    TDD是1)写测试2)写通过这些测试的代码,3)然后重构的实践.在,NET社区中, 这个概念逐渐变得非常流行,这归功于它所增加的质量保证.此时,它很容易测试public方法,但是一个普遍的问题出现了, ...

  10. LeetCode第[15]题(Java):3Sum (三数之和为目标值)——Medium

    题目难度:Medium 题目: Given an array S of n integers, are there elements a, b, c in S such that a + b + c  ...