【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 ...
随机推荐
- Nginx 配置文件重写
nginx主配置文件 1.清空过Nginx配置文件,修改: vim /usr/local/nginx/conf/nginx.conf # 以那个账户,账户组来运行nginx user nobody n ...
- Contest-hunter 暑假送温暖 SRM01
一直找不到好的题去做...于是想到了srm...回来补题...QAQ 从srm01补起 A 题意:n个数,排成一列,刚开始都是1,如果左右相等就可以合并,问最后的数列长什么样. 思路:比赛的时候直接敲 ...
- 因为swap分区无法启动
用户启动时停在如下截图
- 编写一个程序,将 a.txt 文件中的单词与 b.txt 文件中的单词交替合并到 c.txt 文件中,a.txt 文件中的单词用回车符分隔,b.txt 文件中用回车或空格进行分隔。
package IO; import java.io.*; public class test { public void connectWords(File file1, File file2, F ...
- Find Min In Rotated Sorted Array,寻找反转序列中最小的元素。
问题描述:寻找反转序列中最小的元素. 算法分析:和寻找某个数是一个道理,还是利用二分查找,总体上分两种情况.nums[left]<=nums[mid],else.但是,在截取子序列的时候,有可能 ...
- Ubuntu中idea配置guns
idea配置guns Tips:建议JDK1.8的包 sudo update-alternatives --config java 设置默认的java # java -version java ver ...
- Android Studio混淆打包
1.apk混淆打包 如果要对apk进行混淆,你要先告知gradle这个app需要混淆,并告知其混淆规则. 告知gradle需要混淆的代码 在Project/app/build.gradle中把mini ...
- Android并发编程之白话文详解Future,FutureTask和Callable
从最简单的说起Thread和Runnable 说到并发编程,就一定是多个线程并发执行任务.那么并发编程的基础是什么呢?没错那就是Thread了.一个Thread可以执行一个Runnable类型的对象. ...
- 在mybatis中使用存储过程报错java.sql.SQLException: ORA-06550: 第 1 行, 第 7 列: PLS-00905: 对象 USER1.HELLO_TEST 无效 ORA-06550: 第 1 行, 第 7 列:
hello_test是我的存储过程的名字,在mapper.xml文件中是这么写的 <select id="getPageByProcedure" statementType= ...
- 新东方雅思词汇---8.2、chron
新东方雅思词汇---8.2.chron 一.总结 一句话总结:时间 chronic 英 ['krɒnɪk] 美 ['krɑnɪk] adj. 慢性的:长期的:习惯性的 n. (Chronic)人名 ...