javascript

记下一些知识。。。。。

七种数据类型

undefined(未定义), null(空),boolean(布尔型),string(字符串),symbol(符号),number(数字),和object(对象)。

使用关键字var,声明一个变量

当 JavaScript 中的变量被声明的时候,程序内部会给它一个初始值undefined。当你对一个值为undefined的变量进行运算操作的时候,算出来的结果将会是NaNNaN的意思是"Not a Number"。当你用一个值是undefined的变量来做字符串拼接操作的时候,它会输出字符串"undefined"

var firstName = "Charles"中,你可以使用firstName[0]来获得第一个位置上的字符。

在JavaScript中,你可以使用typeof运算符确定变量的类型或值

数组

在 JavaScript 中,字符串的值是 不可变的,这意味着一旦字符串被创建就不能被改变。数组可包含不同类型的数据

一个简单的方法将数据添加到一个数组的末尾是通过push()函数.push()接受把一个或多个参数,并把它“推”入到数组的末尾。

.pop()函数用来“抛出”一个数组末尾的值。我们可以把这个“抛出”的值赋给一个变量存储起来。换句话说就是.pop()函数移除数组末尾的元素并返回这个元素。

.shift()的工作原理就像.pop(),但它移除的是第一个元素,而不是最后一个,返回移除的元素值

.unshift()函数用起来就像.push()函数一样, 但不是在数组的末尾添加元素,而是在数组的头部添加元素。

变量

在 JavaScript 中,作用域涉及到变量的作用范围。在函数外定义的变量具有 全局 作用域。这意味着,具有全局作用域的变量可以在代码的任何地方被调用。在一个函数内声明的变量,以及该函数的参数都是局部变量,意味着它们只在该函数内可见。

function myTest() {
var loc = "foo";
console.log(loc);
}
myTest(); // 打印出 "foo"
console.log(loc); // loc 没有定义

 

这些没有使用var关键字定义的变量,会被自动创建在全局作用域中,形成全局变量。当在代码其他地方无意间定义了一个变量,刚好变量名与全局变量相同,这时会产生意想不到的后果:原来的值会被覆盖.又或者称为一个程序中有可能具有相同名称的局部变量 和全局变量。在这种情况下,局部变量将会优先于全局变量

var someVar = "Hat";
function myFun() {
  var someVar = "Head";
}
myFun();
console.log(someVar);//"Head"   因为被覆盖了

 

 函数

在函数没有return语句的情况下,当你调用它时,该函数会执行内部代码,返回的值是undefined

运算符

严格相等运算符(===)是相对相等操作符(==)的另一种比较操作符。与相等操作符不同的是,它会同时比较元素的值和数据类型

严格不相等运算符(!==)与全等运算符是相反的。这意味着严格不相等并返回false的地方,用严格相等运算符会返回true反之亦然。严格相等运算符不会转换值的数据类型。

对象

对象名.属性  可以访问对象属性,若该属性不存在,可通过此增加属性:

myDog.bark="woof";

删除对象属性

delete myDog.tails;

提示:属性名称中如果有空格,必须把属性名称用单引号或双引号包裹起来。

第二种访问对象的方式就是中括号操作符([]),如果你想访问的属性的名称有一个空格,这时你只能使用中括号操作符([])。

中括号操作符的另一个使用方式是用变量来访问一个属性。当你需要遍历对象的属性列表或查表时,这种方式极为有用。

 

可以用.hasOwnProperty(propname)方法来检查对象是否有该属性

myObj.hasOwnProperty("top"); // true

 

 parseInt()函数

 parseInt()函数解析一个字符串返回一个整数.如果字符串参数的第一个字符是字符串类型的,结果将不会转换成数字,而是返回NaN.

parseInt()函数解析一个字符串并返回一个整数。它同时可接受第二个参数,一个介于2和36之间的整数,表示字符串的基数。

 

 

posted @ 2020-10-27 14:37  DurianTRY  阅读(66)  评论(0编辑  收藏  举报