1.jquery ajax中都支持哪些數據類型:xml,html,script,json,jspon,text
https://baike.baidu.com/item/ajax/8425?fr=aladdin
在JQuery中,AJAX有三種實現方式:$.ajax() , $.post , $.get()。
預期服務器返回的數據類型。如果不指定,jQuery 將自動根據 HTTP 包 MIME 信息來智能判斷,比如 XML MIME 類型就被識別爲 XML。在 1.4 中,JSON 就會生成一個 JavaScript 對象,而 script 則會執行這個腳本。隨後服務器端返回的數據會根據這個值解析後,傳遞給回調函數。可用值:
•"xml": 返回 XML 文檔,可用 jQuery 處理。
•"html": 返回純文本 HTML 信息;包含的 script 標籤會在插入 dom 時執行。這種方式是最常見的方式(默認方式),jQuery(這裏如果返
回值中有JS代碼,並不執行)執行 sucuess回調函數,比如html()、append()等等,這些函數將html代碼裝載到當前頁面的時候才執行其中包
含的js代碼,而且該代碼只執行一次並不緩存。
•"script": 返回純文本 JavaScript 代碼。不會自動緩存結果。除非設置了 "cache" 參數。注意:在遠程請求時(不在同一個域下),所有
POST 請求都將轉爲 GET 請求。(因爲將使用 DOM 的 script標籤來加載)
•"json": json方式和html方式在請求和服務器中完全是一樣,請求的返回值實際上都是String對象,有兩點不同,第一:html方式的時候並沒有限制返回的字符串格式,而json方式的時候,必須符合json協議的規範。第二:html方式請求完成之後沒有做任何的操作直接回調sucuess,而json多了一步就是加了eval,執行返回的字符串,看看源碼data = eval_r("(" + data + ")");返回json對象。
•"jsonp":jsonp方式的交互方式和js是一樣的,本身xmlHttpRequest對象並不能跨域訪問,但是script標籤的src可以跨域訪問,這裏就注意兩個概念:第一Ajax是不能跨域操作的,第二jQuery的jsonp是可以跨域操作,jsonp到底是什麼東西呢?他是一個非官方的定義,目前的規範,需要服務器和客戶端進行配合使用
•"text": 返回純文本字符串
2.JS裏判斷一個對象oStringObject是否爲String:
js中String的初始化有兩種方式:1、直接賦值,var str1 = 'abcd'
2、String對象實例化,var str2 = new String('ac');
如果用第二種方式初始化,就不能用typeof來判斷,因爲此時typeof是判斷基本數據類型的,null/[]/{}/對象/函數都屬於object
這時可以用instanceof!
var oStringObject = new String('aaa')
alert(typeof oStringObject) // object
alert(oStringObject instanceof String) // true
alert(Object.prototype.toString.call(oStringObject)=='[object String]') // true
後面兩種方式都可以來判斷oStringObject是不是String!
3.常見的瀏覽器端的存儲技術:
瀏覽器端:
cookie
WebStorage(localStorage、sessionStorage)
userData
indexedDB
服務器端:
session
4.嵌入在HTML文檔中的圖像格式:bmp,gif,jpg,png;
計算機存儲圖片常見的存儲的格式:bmp,jpg,tiff,gif,pcx,tga,exif,fpx,svg,psd,cdr,pcd,dxf,ufo,eps,ai,raw等。
https://www.cnblogs.com/charmingyj/p/5689777.html
5.CSS3新增屬性用法整理:
- box-shadow(陰影效果)
- border-color(爲邊框設置多種顏色)
- border-image(圖片邊框)
- text-shadow(文本陰影)
- text-overflow(文本截斷)
- word-wrap(自動換行)
- border-radius(圓角邊框)
- opacity(透明度)
- box-sizing(控制盒模型的組成模式)
- resize(元素縮放)
- outline(外邊框)
- background-size(指定背景圖片尺寸)
- background-origin(指定背景圖片從哪裏開始顯示)
- background-clip(指定背景圖片從什麼位置開始裁剪)
- background(爲一個元素指定多個背景)
- hsl(通過色調、飽和度、亮度來指定顏色顏色值)
- hsla(在hsl的基礎上增加透明度設置)
- rgba(基於rgb設置顏色,a設置透明度)
http://blog.sina.com.cn/s/blog_a01a36330101doc0.html
6.給Array本地對象增加一個原型方法,它用於刪除數組條目中重複的條目(可能有多個),返回值是一個包含被刪除的重複條目的新數組。
Array.prototype.distinct = function() {
var ret = [];
//對原數組進行循環
for (var i = 0; i < this.length; i++)
{
//依次取出數組中的數與原數組進行比較
for (var j = i+1; j < this.length;) {
//splice() 方法向/從數組中添加/刪除項目,然後返回被刪除的項目。
if (this[i] === this[j]) {
ret.push(this.splice(j, 1)[0]);
} else {
j++;
}
}
}
return ret;
}
//for test
var arr=['a','b','c','d','b','a','e'];
alert(arr.distinct());
console.log(arr);
7.使mySort()能使傳入的參數按照從小到大的順序顯示出來
function mySort() {
var tags = new Array();
for(var i = 0;i < arguments.length;i++) {
tags.push(arguments[i]);
}
tags.sort(function(compare1,compare2) {
return compare1- compare2;
});
return tags;
}
var result = mySort(50,11,16,32,24,99,57,100);
console.info(result);
8.用javascript實現用戶登錄驗證的代碼
<script language=javascript>
function checkSubmit()
{
if ((document.form1.name.value)==”)
{
window.alert (‘姓名必須填寫’);
document.form1.name.select();
document.form1.name.focus();
return false;
}
else
return true;
}
</script>
<form name=”form1″ onsubmit=”javascript:return checkSubmit()”>
<input type=”text” name=”name”>
</form>