js基础

<strong>// <strong>加粗

//换行

<strong>javaScript最初的目的

判断客户端的输入

<strong>JavaScript现在的意义

-页面特效(PC端的网页效果)
-移动端(移动web和app)
-异步和服务器交互
-服务端开发(nodejs)

JavaScript、HTML、CSS各自的作用
HTML 提供网页上显示的内容(结构)
CSS 美化网页(样式)
JavaScript 控制网页行为(行为)
设计原则:
结构、样式、行为---分离!

ECMAScript
JavaScript的语法规范
DOM
JavaScript操作网页上元素的API
BOM
JavaScript操作浏览器部分功能的API

console.log(“内容”)在控制台打印输出内容
document.write(“内容”)在页面书写内容
alert(“内容”)弹窗显示内容

JavaScript中的数据类型
简单(基本、值)数据类型
Number、String、Boolean Undefined、Null
复杂(引用)数据类型(暂时了解)
Object、Array、Date等
查看当前变量的数据类型
typeof name
typeof(name)

最小值:Number.MIN_VALUE,这个值为: 5e-324
最大值:Number.MAX_VALUE,这个值为: 1.7976931348623157e+308
无穷大:Infinity
无穷小:-Infinity

NaN 非数值(Not a Number)
console.log(“abc”/18); //结果是NaN
NaN 与任何值都不相等,包括 NaN 本身
isNaN() :任何不能被转换为数值的值都会导致这个函数返回 true
isNaN(NaN);// true
isNaN(“blue”); // true
isNaN(123); // false

字符串字面量
var name = "zhangsan"; //"zhangsan"字面量
字符串要用引号引起,单引号和双引号的作用是等效的
例如:
var name = "zhangsan";
var name = 'zhangsan';
var name = 'zhangsan"; //错误,单引号和双引号要成对出现
字符串是由一个一个字符组成的,获取一个字符串中字符的个数可以使用length
例如:var name="zs"; alert(name.length);//2

Boolean类型有两个字面量:true和false,并且区分大小写!

Undefined这是一种比较特殊的类型,表示变量未赋值,这种类型只有一种值就是undefined

三种转换成字符的方法
toString()方法

var age = 18;
var ageString = age.toString();
console.log(ageString);  // 结果 "18"
var result = true;
var resultString = result.toString();
console.log(resultString);// 结果 "true"

String()函数

var age = 18;
console.log(String(age)); //结果 "18"
var result = true;
console.log(String(result)); //结果 "true"
console.log(String(undefined)); //结果 "undefined"

使用拼接字符串

例如1:
var age = 18;
var str = age + "岁";
console.log(str);
例如2:
var str = "" + 18; //结果是"18"

三个把值转换成数值类型的函数:Number()、 parseInt()、 parseFloat()

<h2>数组</h2>
创建数组的两种方式
方式1,数组字面量

var arr1 = []; //创建一个空数组,数组字面量
var arr2 = [1, 3, 4]; //创建一个包含3个数值的数组,多个数组项以逗号隔开
var arr3 = ["a", "c"]; // 创建一个包含2个字符串的数组

方式2,Array的构造函数

var arr4 = new Array(); // 创建一个空数组
var arr5 = new Array(10); // 创建一个长度为10的数组
var arr6 = new Array("black", "white", "red"); // 创建一个包含3个
字符串的数组  

获取数组中的值

var colors = ["black", "white", "red"]; 
console.log(colors[0]);  //获取第一个元素的值
colors["1"] = "blue"; //给第2个元素重新赋值
console.log(colors);
colors["4"] = "yellow"; //设置第5个元素的值,此时数组中有5个元素
console.log(colors);
length属性,获取或设置数组中元素的个数
console.log(colors.length);//获取数组中元素的个数
colors.length = 1; //设置数组中元素的个数
console.log(colors);

<h2>函数</h2>
1、函数声明

  function f(a,b) {
        return a + b;
    }
    console.log(f(5,6));

2、函数表达式

 //myFun和f等价
   var myFun = function (a,b){
        return a + b;
    }
    console.log(myFun(6,7));

函数声明
//此处的代码执行没有问题,JavaScript解析器首先会把当前作用域的函数声明提前到整个作用域的最前面。

   console.log(f(5,6));
    function f(a,b) {
        return a + b;
    }
函数表达式
    //报错:myFun is not a function
    //这是为什么呢
   myFun(6,7);
    var myFun = function (a,b){
        return a + b;
    }

匿名函数:没有命名的函数
作用:一般用在绑定事件的时候
语法
function () {}
自调用函数
(function(){alert("hello")})();
块级作用域
在其它语言中,任何一对花括号中的语句都属于一个块,在这之中定义的所有变量在代码块外都是不可见的
JavaScript中没有块级作用域
全局变量
定义在script或者不属于某个函数的变量
局部变量
定义在函数内部的变量
其它
函数内部可以访问到该函数所属的外部作用域的变量(作用域链)
不使用var声明的变量是全局变量,不推荐使用。
变量退出作用域之后会销毁,全局变量关闭网页或浏览器才会销毁
变量提升
定义变量的时候,变量的声明会被提升到作用域的最上面,变量的赋值不会提升。
函数提升
JavaScript解析器首先会把当前作用域的函数声明提前到整个作用域的最前面
什么是回调函数?
简单理解就是函数做为参数。(这样的......)
复杂理解:回调函数就是一个通过函数调用的函数。如果你把函数的指针(地址)作为参数传递给另一个函数,当这个指针被用来调用其所指向的函数时,我们就说这是回调函数。
函数是一种数据类型
函数作为方法的参数
函数作为方法的返回值

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 216,142评论 6 498
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 92,298评论 3 392
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 162,068评论 0 351
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,081评论 1 291
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,099评论 6 388
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,071评论 1 295
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,990评论 3 417
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,832评论 0 273
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,274评论 1 310
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,488评论 2 331
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,649评论 1 347
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,378评论 5 343
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,979评论 3 325
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,625评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,796评论 1 268
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,643评论 2 368
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,545评论 2 352

推荐阅读更多精彩内容