【Javascrpt 速成篇】 一:js基础
本系列文章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基础的更多相关文章
- Javascrpt 速成篇】 三:js事件处理
ie和chrome,firefox的事件处理,除了函数名字不同,基本大同小异.这样就已chrome为主了,对ie有兴趣的自己去百度.jquery已经处理不同浏览器兼容性问题,推荐使用. 事件处理有两种 ...
- Javascrpt 速成篇】 二:js面向对象
现实世界的对象由形态和行为组成,js中对应的是属性和函数. <!DOCTYPE html> <html> <head> <meta charset=" ...
- Python之路【第二十一篇】:JS基础
JavaScript的基础学习(一) 一.JavaScript概述 1.1 JavaScript的历史 ● 1992年Nombas开发出C-minus-minus(C--)的嵌入式脚本语言(最初绑定在 ...
- 前端面试题目汇总摘录(JS 基础篇)
JS 基础 JavaScript 的 typeof 返回那些数据类型 object number function boolean undefined string typeof null; // o ...
- JS基础篇--sort()方法的用法,参数以及排序原理
JS基础篇--sort()方法的用法,参数以及排序原理 sort() 方法用于对数组的元素进行排序,并返回数组.默认排序顺序是根据字符串Unicode码点.语法:arrayObject.sort( ...
- JS基础入门篇(二十七)—BOM
虽然上次写到js基础篇(二十四),这次直接写到(二十七).是为了提醒自己中间有几篇没写.特此说明一下啊. 1.window.open() 使用a标签呢,点击一下a标签页面才会跳转,有时候我们需要做的操 ...
- JS基础入门篇(三十五)—面向对象(二)
如果没有面向对象这种抽象概念的小伙伴,建议先看一下我写的JS基础入门篇(三十四)-面向对象(一)
- 【基础篇】js对本地文件增删改查
[基础篇] js对本地文件增删改查--增 js对本地文件增删改查--删 js对本地文件增删改查--改 js对本地文件增删改查--查
- 【基础篇】js对本地文件增删改查--查
前置条件: 1. 本地有安装node,点击传送门 项目目录: 1. msg.json内容 { "data": [ { "id": 1, "name&q ...
随机推荐
- Loadrunder场景设计篇——IP欺骗
适用协议 LoadRunner的多ip功能允许运行在单一负载生成器上的Vuser可以通过多ip被识别.服务器和路由识别这些vuser为来自不同负载生成器上. 2 在负载生成器(load gene ...
- Unity,android和IOS 防止八门神器注入
八门神器主要是不断筛选,来获取关键属性(比如金币)在内存中的地址,再根据该地址来修改指向的数据就可以成功. 因此,我们需要在金币读取和设置的时候,使用一个偏移量,来达到干扰的目的就可以了 未经仔细测试 ...
- js小技巧(收集的)
一.事件源对象 event.srcElement.tagName //IE浏览器 event.srcElement.type event.target.tagName //dom浏览器 event.t ...
- spring的线程安全
Spring作为一个IOC/DI容器,帮助我们管理了许许多多的“bean”.但其实,Spring并没有保证这些对象的线程安全,需要由开发者自己编写解决线程安全问题的代码.Spring对每个bean提供 ...
- 通过FFmpeg将多媒体文件解码后保存成Bmp图像(YUV420 RGB32)
/* g++ -o test test.cpp -lavformat -lavcodec -lavutil -lz -lm -lpthread -lswscale */ #include <st ...
- ubuntu+anaconda+python安装各版本tensorflow
一.安装anaconda 1.去官网下载anaconda linux版本即可 选择合适的版本下载即可 2.安装Aanconda: 打开终端(Ctrl+Alt+t)进入到下载的目录一般在home 下的D ...
- FAQ | 是什么导致MySQL数据库服务器磁盘I/O高(本文章来自知数堂)
FAQ | 是什么导致MySQL数据库服务器磁盘I/O高 2016-12-26 叶金荣 老叶茶馆 0.导读 有个MySQL服务器的磁盘I/O总有过高报警,怎么回事? 本文约1500字,阅读时间约10分 ...
- 详细解读ARM寄存器之CPSR【转】
本文转载自:https://blog.csdn.net/david_luyang/article/details/6276533 详细解读ARM寄存器之CPSR 整理人:卢阳 QQ:820927872 ...
- Oracle imp 导入数据出现 ORA-12560
错误如下: D:\software\xfwebdb2015-05-11\autobackup>imp Import: Release 10.2.0.1.0 - Production on 星期三 ...
- java-四则运算二
1.实验目的:是否有乘除法,括号,多项式运算. 2.思路:利用简单的循环switch语句进行循环输出随机数 3.程序源代码: package jiajianchengchu; import java. ...